来自Java用户的阵列中的输入整数由Whitespace分开



我正在在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,并且它不会进一步执行。

任何人都可以帮我吗?

尝试使用以下方式:

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]

最新更新