0

我的文件名为“s1”我试图读入我的程序

0 0 5 1 0 0 2 0 8
0 0 0 0 7 0 0 4 9
7 8 0 0 2 0 6 0 5
0 9 0 7 6 2 0 0 0
0 4 7 0 0 0 8 9 0
0 0 0 9 8 4 0 2 0
9 0 8 0 3 0 0 5 1
5 7 0 0 1 0 0 0 0
6 0 3 0 0 9 7 0 0

我需要将这些数字放入二维数组中,但我不断得到每行代码的 9x9,我不知道为什么?我的代码:

public void Read(String s) throws IOException {
        BufferedReader br = new BufferedReader(new FileReader(s));
        String line = " ";
        String[] temp;

        while ((line = br.readLine()) != null) {
            temp = line.split(" "); //split spaces



            for(int i=0;i<board.length;i++){
                for(int j=0;j<board.length;j++){
                    board[i][j]=Integer.parseInt(temp[j]);

                }

        }

当我尝试打印但替换为每一行时,我的输出为 9:

603009700
603009700
603009700
603009700
603009700
603009700
603009700
603009700
603009700

我需要什么来解决这个问题?

4

1 回答 1

2

您正在为每一行循环遍历数组的两个维度,因此最后一行是唯一填充内容的行。您当前正在做的是,对于每一行,您将该行的内容复制到每一行。

每行只需要一个jfor 循环。循环可以在每个循环while中递增i一次,而不是在其中包含一个ifor 循环。也就是说,i在每个while循环中保持不变,只在最后增加它,为下一个循环做准备。

于 2013-10-14T23:04:05.357 回答