java - 为什么扫描仪不读取我调用程序的第一行?
问题描述
我对编程很陌生,我必须做一个程序,在其中我得到未定义数量的整数。前 2 个整数是 2D-Array 的大小。我用剩余的整数填充数组。例如 java Matrix 2 2 0 1 0 1。所以数组大小应该是 2x2 和 0 1 0 1,但问题是扫描仪不读取整数。如果我使用 java Matrix 并将整数放入下一行它可以工作。问题是我必须将整数放入第一行。
Scanner sc = new Scanner(System.in);
String a = "";
while(sc.hasNextInt()){
a = a + sc.nextInt();
a = a + " ";
}
这是我用来读取整数并将它们放入一个字符串的代码的一部分。我真的很感激一些想法,我可以如何改变它。
解决方案
您可以使用扫描仪nextInt
来读取用户的每个整数。然后使用嵌套的 for 循环将值插入 2D 数组。
Scanner in = new Scanner(System.in);
System.out.print("Enter input: ");
int row = in.nextInt();
int column = in.nextInt();
int[][] matrix = new int[row][column]; //initialize matrix with row and column entered by user
for(int r = 0; r <row; r++) { //nested for loop to insert values from user into matrix
for(int c = 0; c < column; c++) {
matrix[r][c] = in.nextInt();
}
}
for(int[] array : matrix) { //print matrix
System.out.println(Arrays.toString(array));
}
安慰
Enter input: 2 2 0 1 0 1
[0, 1]
[0, 1]
推荐阅读
- perl - 在 perl 脚本中运行 Curl 命令
- ios - 如何让 XCode 查看用于签署证书的私钥?
- java - 用HTL调用时在java中使用“is”或“get”有什么区别
- sql - 试图用字母数字分割字符串
- c++ - 将属性保存到类的 C++ 程序问题
- javascript - Axios.get 返回状态码 400 无法找出问题所在(SODAapi)
- excel - 如何在 Excel 中使用折线图类型将水平轴从类别更改为值
- python - mi PATH“-bash:ls:找不到命令”的问题请帮助:)
- javascript - 有没有办法在 MongoDB 中针对不同类型的文档进行单个查询,并将每种类型限制为一个集合中的特定数字?
- node.js - React js TypeError:无法读取未定义的属性“参数”