我目前有一个方法可以浏览纯文本文件,我需要将其" "
作为0
帐户。
此刻它需要一个空白区域并将其表示为-1
。
这是我的代码。
int[][] board = new int[9][9];
File file = new File ("zero.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"); ALREADY DECLARING IT.
}
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-1; j++) {
int numbers = Character.getNumericValue(data.charAt(counter));
counter++;
board[i][j] = numbers;
}
}
我已经尝试了if
声明,但我无法让它发挥作用。
答案 0 :(得分:0)
据我所知,您希望将空格表示为0,但Character.getNumericValue(data.charAt(counter))
表示空格为-1。试试这个(假设你的代码适用于所有其他情况,因此其他情况):
char ch = data.charAt(counter)
if (ch == ' ')
board[i][j] = 0;
else
board[i][j] = Character.getNumericValue(ch);
counter++;
注意,这就是你得到-1的原因:
此方法返回字符的数值,作为非负int值; -2如果字符的数值不是非负整数;如果字符没有数字值,则返回-1。
来自http://www.tutorialspoint.com/java/lang/character_getnumericvalue.htm