使用扫描仪根据用户输入创建阵列

时间:2018-06-29 13:45:53

标签: java arrays loops java.util.scanner

我正在尝试创建一个程序,用户可以在其中使用扫描仪创建阵列。在此示例中,如果第一个输入为4,则将初始化长度为4的数组。但是,在下一部分中,扫描仪将要求5个输入而不是4个输入。如果下一个输入是1 2 3 4 5,则最终输出将是[2,3,4,5]。我不确定为什么要输入5个输入而不是4个输入。有人可以告诉我我做错了什么吗?

import java.util.Scanner;

public class test {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);

        int n = s.nextInt();
        int[] numbers = new int[n];

        int input = s.nextInt();

        for (int i = 0; i < n; i++) {
            numbers[i] = s.nextInt();
        }

        System.out.println("---------");

        for (int x : numbers) {
            System.out.print(x);
        }
    }
}

1 个答案:

答案 0 :(得分:2)

int input = s.nextInt();行正在使用第一个输入。这就是为什么要从2的索引0'th初始化数组的原因。

删除行int input = s.nextInt();,它将正常工作