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”循环加上大括号,并在附加单词后附加一个空格。即使只有一行,也总是添加大括号是一种很好的做法。

于 2013-03-27T18:45:15.297 回答
1

看看这个例子。我个人会做一个列表并使用比较器。

于 2013-03-27T18:31:06.270 回答