人物" "为0

时间:2013-10-28 19:53:11

标签: java

我目前有一个方法可以浏览纯文本文件,我需要将其" "作为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声明,但我无法让它发挥作用。

1 个答案:

答案 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