为什么for循环在调用另一个方法后退出?

问题描述 投票:0回答:1

我正在尝试用从文本文件读取的数据填充矩阵。矩阵只是已经使用参数创建的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);
    }
}
for-loop methods while-loop java.util.scanner nested-loops
1个回答
0
投票

发现它是因为您无法一次将变量放入特定点,即使您试图按顺序将它们放入。如果矩阵已初始化并用0或其他数字填充,则可以正常工作。必须填充它,以创建具有特定大小的空矩阵不起作用。否则,您每次必须重新启动整个方法以添加1个变量。

© www.soinside.com 2019 - 2024. All rights reserved.