我正在尝试用从文本文件读取的数据填充矩阵。矩阵只是已经使用参数创建的2D数组。我检查了一下,并根据参数将数组创建为正确的大小。由于某种原因,当我扫描下一个值(值),然后尝试将其插入数组中的某个点时,它成功一次,然后退出而没有填充数组的其余部分。如果删除了insertAt方法,则循环将完美地遍历所有需要的单元格。由于某种原因,在添加并调用该方法时,它对于第一个单元格工作正常,但之后退出。
同时在特定点插入值的循环。
while(scan.hasNext()) {
for(int i = 0; i < m1.row; i++) {
for(int j = 0; j < m1.column; j++) {
value = scan.nextInt();
m1.insertAt(i, j, value);
}
}
}
用于控制值插入的矩阵方法。
public void insertAt(int row, int column, int value) {
if(row >= 0 && column >= 0) {
matrix[row][column] = value;
} else {
System.out.println("Error inserting value. Row: " + row + " Column: " + column);
}
}
发现它是因为您无法一次将变量放入特定点,即使您试图按顺序将它们放入。如果矩阵已初始化并用0或其他数字填充,则可以正常工作。必须填充它,以创建具有特定大小的空矩阵不起作用。否则,您每次必须重新启动整个方法以添加1个变量。