从Java用户中以空格分隔输入数组中的整数

时间:2019-03-04 04:55:11

标签: java arrays

我正在Java编程网站上解决一个实践问题,该问题要求我输入所有必需的整数,这些整数仅用空格分隔,其中第一个数字表示数组中元素的数量,随后的数字应插入到数组中。数组。

例如,

我想通过以下方式输入:-

4 3 1 2 7

这里是数组中元素的数量4,应在数组中插入3、1、2和7。

我正在使用相同的扫描仪类,而我编写的代码如下:-

Scanner sc = new Scanner (System.in);
int [] arr = new int [10000];
int n = sc.nextInt();
for (int i=0;i<n;i++)
    arr [i] = sc.nextInt();

但是当我执行代码时,它在行arr [i]=sc.nextInt();中给出了NoSuchElementException,并且它没有进一步执行。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:1)

尝试使用此:

import java.util.*;
import java.io.*;

public static void main(String[] args) throws IOException {

    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
    String[] input = reader.readLine().split(" ");
    int[] numbers = new int[input.length - 1];
    for(int i = 0; i < numbers.length; i++) {
        numbers[i] = Integer.parseInt(input[i+1]);
    }

    System.out.println("Array = "+Arrays.toString(numbers));

}

输入:

4 1 2 3 4

输出:

Array = [1, 2, 3, 4]