首页 > 解决方案 > 使用scanner.nextInt() 从多行获取2个整数

问题描述

我有以下代码,我试图获取两个数字对并将它们存储在二维列表中。

    for (int i = 0; i < numEdges; i++) {
        int x = input.nextInt();
        int y = input.nextInt();
        edges.add(new int[]{x, y});
        System.out.println("x-y: " + x + " " + y);
    }

我的代码应该以下面的格式一次接受所有输入,其中前两个输入在其他地方使用。

我的问题来自第三行中的成对集合,其中我的 for 循环正在等待在完成最后一个循环之前按下 enter 键。

5
5
2 3
3 4
1 2
0 2
2 4

此代码之后的控制台输出如下所示

x-y: 2 3
x-y: 3 4
x-y: 1 2
x-y: 0 2
            //Pauses here on last iteration until enter key pressed
x-y: 2 4    //Then finishes normally

我在下面包含了一个屏幕截图,显示了代码在哪里等待输入键。

我确信这是一个错误,它存在于对nextInt()工作原理的一些误解,但这也是我第一次使用这种格式的输入。

控制台输出的屏幕截图

标签: javaconsole-applicationuser-input

解决方案


推荐阅读