为什么我的排序循环似乎将元素添加在不应添加的位置?

我正在尝试使用排序字符串数组compareTo()。这是我的代码:


static String Array[] = {" Hello ", " This ", "is ", "Sorting ", "Example"};

String temp;


public static void main(String[] args)

{


   for (int j=0; j<Array.length;j++)

   {

       for (int i=j+1 ; i<Array.length; i++)

       {

           if (Array[i].compareTo(Array[j])<0)

           {

               String temp = Array[j];

               Array[j] = Array[i];

               Array[i] = temp;

           }

       }

       System.out.print(Array[j]);

   }

}

现在的输出是:


Hello  This Example Sorting is

我得到的是结果,但不是我想得到的结果,它们是:


Hello This Example Is Sorting

如何调整代码以正确地对字符串数组进行排序?


慕运维8079593
浏览 343回答 3
3回答

小怪兽爱吃肉

代替这条线if(Array[i].compareTo(Array[j])<0)用这条线if(Array[i].trim().compareTo(Array[j].trim())<0)而且你很好。您的当前代码不起作用的原因已经由其他用户解释。上面的替换是您可以应用的几种解决方法之一。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java