2013-03-27 83 views
0

這不會給出預期的輸出,在我的核心邏輯中是否有任何問題,任何幫助對我都有用。排序數組的字符串java即input =「aab cde abc aaa」output =「aaa aab abc cde」

 public static String sortedWord(String s){ 

     String[] words = s.split("\\s+"); 
     int length = words.length; 
     String temp=""; 


     for(int i=0;i<length;i++){ 
      for(int j=1;j<length-i;j++){ 
       if(words[j-1].compareTo(words[j])>0) 
         temp = words[j-1]; 
         words[j-1] = words[j]; 
         words[j] = temp; 

      } 

     } 


      StringBuilder sb = new StringBuilder(); 
      for(int k=0;k<length;k++) 
      sb.append(words[k]); 

      return sb.toString(); 
} 
+3

它給出了什麼輸出? – 2013-03-27 18:29:26

+0

顯示輸出以更好地回答... – Sajad 2013-03-27 18:32:28

+0

輸出:aaa abc cde – Abs 2013-03-27 18:33:34

回答

1

看看這個example。我會親自做一個List並使用Comparator。

+0

在給定的情況下,你甚至不需要一個「比較器」:) – 2013-03-27 18:38:45

3

你忘記了你的if塊的花括號。

您還希望在上一個「for」循環中使用大括號,並在追加單詞後追加空格。即使只有一行,總是添加大括號是一種很好的做法。

+0

感謝識別花括號 – Abs 2013-03-28 07:50:12

相關問題