當涉及到通過stringBuffer解析爲2D數組時,我遇到了很多問題。從文件中取出字符串,然後將每個數字放入一個2D數組中。 (Java)
這就是我想實現....
這是我的文件中的一個例子。
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},
};
但我想創造出它會爲我們的方法,看到我m在許多不同的文件中加載。
這是我的代碼。
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歲的事情!
謝謝
CodeMonkey
的空間不要在添加到您的問題。發佈它作爲我的答案的評論,我會幫你修復它。 – SudoRahul