gpt4 book ai didi

java - 数组排序器。输出错误

转载 作者:行者123 更新时间:2023-11-29 08:12:39 26 4
gpt4 key购买 nike

我使用在本网站上找到的示例编写了一个数组排序。但是我的代码编译不正确。它不存储第一个值,而是只存储整数 0 并重复它。我似乎找不到它有什么问题,但我怀疑它在我的 for 循环中的某个地方。

/**
* @author angu2548
* XXX 310255325
*/
public class Sorter {

public int[] sortArray(String[] args) {
int [] numbers = new int [args.length];

//Turning it into an int [] array
for (int i= 0; i > args.length; i++){
int x = Integer.parseInt(args[i]);
numbers[i] = x;
}

//Insertion sort
for(int j = 1; j < numbers.length; j++){
int temp = numbers[j];
int i = j -1;

while (i > 0 && numbers[i] > temp){
numbers[i + 1] = numbers[i];
i--;
}
numbers[i + 1] = temp;
//System.out.println("got to here");
}
return numbers;
}

public static void main(String[] args) {
Sorter sort = new Sorter();
int[] result = sort.sortArray(args);
if(result != null && result.length > 0){
System.out.print("[" + result[0]);
for(int i=1; i<result.length; ++i){
System.out.print(", " + result[i]);
}
System.out.println("]");
}
}
}

输出是 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 即使我的值是[1 2 3 4 5 6 7 8 8 5 4 3]

最佳答案

你在循环条件中犯了一个错误:

for (int i= 0; i > args.length; i++)

将阻止循环运行,因此 numbers 永远不会用正确的元素初始化。应该是

for (int i= 0; i < args.length; i++)

关于java - 数组排序器。输出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7191125/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com