我正在尝试在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];
}
答案 0 :(得分:1)
您需要一个单独的计数器用于原始数组:
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
有足够的值来填充2D数组。您应该在此循环之前验证它。