[英]How do I sort an array in java?
输入必须由用户进行。 我的代码如下。 为什么它只有 output 归零? 解决办法是什么?
程序的 Output 为0 0 0 0
(输入的总数)。
import java.util.Arrays;
import java.util.Scanner;
public class atlast {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
int[] array = new int[107];
for (int i = 0; i < n; i++) {
array[i] = input.nextInt();
}
Arrays.sort(array);
for (int i = 0; i < n; i++) {
System.out.print(array[i] + " ");
}
}
}
int[] array = new int[107];
您正在初始化一个包含 107 值为 0 的表。因此,如果n
很小,则第一个元素将为 0。
要查看结果,将最后一个循环中的 n 替换为 107,您将看到值
您初始化了一个大小为 107 的数组,这意味着在接受用户输入之前,数组中最初有 107 个零。 由于 output 中有四个零,因此您必须取 4 个值作为输入。 所以数组中有四个非零值和103个零值。 当您应用Arrays.sort 103 个零位于 4 个非零值之前。 因此,当您打印 n 个值(在这种情况下为 4)时,您只会得到零。 您可以改用ArrayList ,这样只有在用户输入时才会初始化数字。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.