繁体   English   中英

如何对 java 中的数组进行排序?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM