将整数输入2D数组的最有效方法是什么?

时间:2019-02-14 17:27:20

标签: java arrays integer java.util.scanner

这是执行时用户界面的外观:

Enter number of rows/columns:
3

1,0,1
1,1,0
0,1,1

因此所有数字均由用户输入;创建3x3数组很简单,但是我想不出一种好方法,可以将用户输入的矩阵的每一行放入不涉及很多switch或if / else语句的数组中。

1 个答案:

答案 0 :(得分:1)

好吧,方矩阵中的元素总数就是您那里的平方数。

int totalElements = rowsCols * rowsCols;

您可以使用Scanner循环读取所有元素。一种方法是注意,您可以通过一些数学操作将线性索引更改为行和列。

for( int i = 0; i < totalElements; i++ ) {
  int row = i / rowsCols;
  int col = i % rowsCols;
  matrix[row][col] = scanner.nextInt();
}

要使用逗号,必须首先将扫描仪设置为使用空格或逗号作为分隔符。

scanner.useDelimiter( "[\\s,]+" );