我需要帮助弄清楚如何使用户输入不超过10的整数,然后将它们添加到数组中并从数组中打印出来。我下面的代码在运行时会询问用户整数,然后永远运行,并且不起作用。我究竟做错了什么?

public static void main(String[] args) {

    Scanner input = new Scanner(System.in); // create a new scanner
    System.out.print("Enter integers between 1 and 100\n ");
    int[] nextNumber = new int[10];
    int i = 0;
    int number = input.nextInt();

    while (i < nextNumber.length){
        i++;
        nextNumber[i] = number;
        number = input.nextInt();
    }

    int a = 0;

    while (a  < nextNumber.length){
        a++;
        System.out.println(nextNumber[a]);
    }

最佳答案

在我看来,您增加索引的速度过快。您应该在循环的结尾而不是开始增加索引变量。

我建议您改用for循环,因为它们是为此而设计的:

Scanner input = new Scanner(System.in); // create a new scanner
System.out.print("Enter integers between 1 and 100\n ");

int[] nextNumber = new int[10];

for (int i = 0; i < nextNumber.length; i++){
    nextNumber[i] = input.nextInt();
}

for (int a = 0; a  < nextNumber.length; a++){
    System.out.println(nextNumber[1]);
}


另外,尽管我没有在代码中更改它,但看来您的最后一行应该是:

System.out.println(nextNumber[a]);

09-05 17:42