开发者社区> 问答> 正文

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

我正在尝试使用排序字符串数组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

展开
收起
保持可爱mmm 2020-02-08 21:48:40 426 0
1 条回答
写回答
取消 提交回答
  • 您的输出是正确的。开头用“ Hello”和“ This”的白色字符表示。

    另一个问题是您的方法。使用Arrays.sort()方法:

    String[] strings = { " Hello ", " This ", "Is ", "Sorting ", "Example" }; Arrays.sort(strings); 输出:

    Hello This Example Is Sorting 这里数组“ is”的第三个元素应该是“ Is”,否则它将在排序后排在最后。因为sort方法在内部使用ASCII值对元素进行排序。

    2020-02-08 21:48:51
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
重新定义计算的边界 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载