将文件读入2 d数组

时间:2013-10-14 23:01:16

标签: java

我的文件名为“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

我需要将这些数字放入2d数组中,但我不断得到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]);

                }

        }

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

603009700
603009700
603009700
603009700
603009700
603009700
603009700
603009700
603009700

我需要解决这个问题?

1 个答案:

答案 0 :(得分:2)

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

每行只需要一个j for循环。 while循环可以在每个循环中递增i,而不是在其中包含i循环。也就是说,在每个i循环中保持while不变,仅在结束时递增它,以准备下一个循环。