在将 stringBuffer 解析为 2D 数组时,我遇到了很多问题。
这就是我想要达到的目标......
这是我的一个文件的示例。
123456789
123456789
123456789
123456789
123456789
123456789
123456789
123456789
123456789
如果我只是手动将它写入Java,我会得到......
int[][] board = {
{1,2,3,4,5,6,7,8,9},
{1,2,3,4,5,6,7,8,9},
{1,2,3,4,5,6,7,8,9},
{1,2,3,4,5,6,7,8,9},
{1,2,3,4,5,6,7,8,9},
{1,2,3,4,5,6,7,8,9},
{1,2,3,4,5,6,7,8,9},
{1,2,3,4,5,6,7,8,9},
{1,2,3,4,5,6,7,8,9},
};
但是我正在尝试创建一个为我们执行此操作的方法,因为我正在加载许多不同的文件。
这是我的代码。
int[][] board = new int[9][9];
File file = new File ("keiron.sud");
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
StringBuffer stringBuffer = new StringBuffer();
String newline;
while ((newline = bufferedReader.readLine()) != null) {
stringBuffer.append(newline);
stringBuffer.append("\n");
}
fileReader.close();
String data = stringBuffer.toString();
int counting = data.length();
int counter = 0;
int i,j;
for(i = 0; i<9; i++) {
for (j =0; j < 9; j++) {
int numbers = data.charAt(counter);
counter++;
board[i][j] = numbers;
}
}
Print(board);
这是我得到的输出
49 50 51 52 53 54 55 56 57
10 49 50 51 52 53 54 55 56
57 10 49 50 51 52 53 54 55
56 57 10 49 50 51 52 53 54
55 56 57 10 49 50 51 52 53
54 55 56 57 10 49 50 51 52
53 54 55 56 57 10 49 50 51
52 53 54 55 56 57 10 49 50
51 52 53 54 55 56 57 10 49
这真的没有意义!
我对 Java 还很陌生,所以请你能像向 5 岁的孩子那样解释一些事情吗?
谢谢,
密码猴