0

これは期待される出力を与えません.私のコアロジックに問題はありますか.どんな助けも私にとって役に立ちます.

       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();
 }
4

2 に答える 2

3

if ブロックを中かっこで囲むのを忘れました。

また、最後の「for」ループに中括弧が必要で、単語を追加した後にスペースを追加します。行が 1 つしかない場合でも、常に中かっこを追加することをお勧めします。

于 2013-03-27T18:45:15.297 に答える
1

このを見てください。個人的には、List を実行して Comparator を使用します。

于 2013-03-27T18:31:06.270 に答える