我正在尝试使用排序字符串数组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 如何调整代码以正确地对字符串数组进行排序? 问题来源于stack overflow
您的输出是正确的。开头用“ Hello”和“ This”的白色字符表示。
另一个问题是您的方法。使用Arrays.sort()方法:
String[] strings = { " Hello ", " This ", "Is ", "Sorting ", "Example" }; Arrays.sort(strings); 输出:
Hello This Example Is Sorting 这里数组“ is”的第三个元素应该是“ Is”,否则它将在排序后排在最后。因为sort方法在内部使用ASCII值对元素进行排序。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。