java - 使用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()
工作原理的一些误解,但这也是我第一次使用这种格式的输入。
解决方案
推荐阅读
- arrays - 将 Javascript 类型定义为来自另一个 Object 属性值的文字数组
- c# - asp.net core 2.1中的自定义长时间运行任务调度程序
- sql - sp_executesql 未使用“with”子句运行 sql
- c++ - 如何使用 C++ 的选择性打开特性?
- python-3.x - 如何将滚动条移动到文本小部件内部
- c++ - 使用 ReadProcessMemory() 将未知大小的字符数组或字符串读入 wstring
- webpack - Webpack 字符串替换 Ionic 3 / Cordova 5 Config.xml
- android - 标签栏和导航抽屉对齐
- python - 将列表复制到矩阵python3时出错
- javascript - 挖掘对象以满足条件并返回高于级别的属性