Java 一行正好有n个数字

Java 一行正好有n个数字,java,Java,我正在解决一项任务,但由于输入了数字而耽误了片刻 Input example: //n and k 3 2 // inputing random n numbers (this time 3 numbers) 2 3 4 在第一行中,我有两个数字(n和k用空格分隔)。在第二行中,我需要输入n个数字(第一行给出),以空格分隔。我怎样才能解决这个问题?这就是我现在拥有的 public static void main(String[] args) throws IOException {

我正在解决一项任务,但由于输入了数字而耽误了片刻

Input example:

//n and k

3 2

// inputing random n numbers (this time 3 numbers)
2 3 4
在第一行中,我有两个数字(n和k用空格分隔)。在第二行中,我需要输入n个数字(第一行给出),以空格分隔。我怎样才能解决这个问题?这就是我现在拥有的

public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String  lines = br.readLine();
        String[] strs = lines.trim().split("\\s+");
        int n = Integer.parseInt(strs[0]);
        int k = Integer.parseInt(strs[1]);

//here starts my problem
        List<Integer> numbers = new ArrayList<>();
        for (int i = 0; i < n; i++) {
            int number = Integer.parseInt(br.readLine());
            numbers.add(number);
        }

    }
publicstaticvoidmain(字符串[]args)引发IOException{
BufferedReader br=新的BufferedReader(新的InputStreamReader(System.in));
字符串行=br.readLine();
字符串[]strs=lines.trim().split(\\s+);
intn=Integer.parseInt(strs[0]);
intk=Integer.parseInt(strs[1]);
//我的问题从这里开始
列表编号=新的ArrayList();
对于(int i=0;i

我设法把第一行的前两位数取下来。但我无法解决第二行的n位数。我需要它是int。感谢您的帮助。

您可以使用与读取和处理第一行类似的方法

String  line = br.readLine();
String[] strs = line.trim().split("\\s+");
List<Integer> numbers = new ArrayList<>();
for (int i = 0; i < strs.length; i++) {
    int number = Integer.parseInt(strs[ i ]);
    numbers.add(number);
}
stringline=br.readLine();
字符串[]strs=line.trim().split(\\s+);
列表编号=新的ArrayList();
对于(int i=0;i
您可以使用与读取和处理第一行类似的方法

String  line = br.readLine();
String[] strs = line.trim().split("\\s+");
List<Integer> numbers = new ArrayList<>();
for (int i = 0; i < strs.length; i++) {
    int number = Integer.parseInt(strs[ i ]);
    numbers.add(number);
}
stringline=br.readLine();
字符串[]strs=line.trim().split(\\s+);
列表编号=新的ArrayList();
对于(int i=0;i
也许可以使用
扫描仪
,使用
Scanner.nextInt()
获取一个整数。@AndyTurner Scanner有一个很好的例子吗?因为
br.readLine()
读取整行,在循环的第二次迭代中,我想您已经完成了所有整数。您可能只想读取一个int而不是整行。或者您也可以像在第一节中一样自己解析该行。@xdhmoore当我在第二行中输入n个数字时,它会抛出异常我可以想象它会抛出异常,因为
br.readline()
返回空值?您的循环设置为
n
iterations,但通过读取整行内容,您将用完第一次迭代中的所有
n
项。以下是@AndyTurner建议的使用扫描仪的方法。也许可以使用
Scanner
,使用
Scanner.nextInt()
获取一个整数。@AndyTurner有扫描仪的好例子吗?因为
br.readLine()
读取整行,在循环的第二次迭代中,我认为您已经完成了所有整数。您可能只想读取一个int而不是整行。或者您也可以像在第一节中一样自己解析该行。@xdhmoore当我在第二行中输入n个数字时,它会抛出异常我可以想象它会抛出异常,因为
br.readline()
返回空值?您的循环设置为
n
iterations,但通过读取整行内容,您将用完第一次迭代中的所有
n
项。以下是@AndyTurner建议的使用扫描仪的方法。