无法填充二维数组

Trouble populating 2d array

我正在尝试在 java 中为数独板填充一个二维数组。这些数字来自一个 csv 文件。问题是代码只读取前四个数字,然后再次从 0 重新开始新行。我该如何阻止这种情况发生,并让它继续到数字的末尾?

    String[] lines = Cell.toCSV().split(",");
    int[] intArray = new int[lines.length];

    for (int i = 0; i < intArray.length; i++) {
        intArray[i] = Integer.parseInt(lines[i]);
    } //convert string to int

    int[][] dataArray = new int[4][4]; //4x4 sudoku game

    for (int col = 0; col < size; col++) {
        for (int row = 0; row < dataArray[col].length; row++) {
            dataArray[col][row] = intArray[row];
    }

原始数组需要一个单独的计数器:

int index = 0;
for (int col = 0; col < dataArray.length; col++) {
    for (int row = 0; row < dataArray[col].length; row++) {
        dataArray[col][row] = intArray[index++];
}

这是假设 intArray 有足够的值来填充二维数组。您可能应该在此循环之前验证这一点。

顺便说一句,二维数组的第一维通常被认为是行,而不是列,所以你的循环变量名称有点混乱。