我正在尝试使用排序字符串数组compareTo()。这是我的代码:
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
如何调整代码以正确地对字符串数组进行排序?
你的输出是正确的。开头用“ Hello”和“ This”的白色字符表示。
另一个问题是你的方法。使用Arrays.sort()方法:
Arrays.sort()
String[] strings = { " Hello ", " This ", "Is ", "Sorting ", "Example" }; Arrays.sort(strings);
输出:
这里数组“ is”的第三个元素应该是“ Is”,否则它将在排序后排在最后。因为sort方法在内部使用ASCII值对元素进行排序。