网格从文本到二维数组

时间:2010-10-22 02:13:32

标签: java grid

  import java.io.*;
import java.util.*;
import java.awt.*;




public class FileInputExample2
{



static public void main(String[] args) throws IOException
  {
  int t;
    BufferedReader filein;
    filein = new BufferedReader (new FileReader("GridDATA.txt"));
   int intGrid [] [] = new int [10] [10];
    String inputLine = filein.readLine();

    StringTokenizer st = new StringTokenizer(inputLine, " ");

    for (int i=0; i<10; i++)
   for (int j=0; j<10; j++)
    {String eachNumber = st.nextToken();
      intGrid [i] [j] = Integer.parseInt(eachNumber);
    }
     for (int i=0; i<10; i++)
     for (int j=0; j<10; j++)
    {
      System.out.println( intGrid[i][j]);
    }

  }
}

这是我到目前为止我试图显示这个网格,我有文本文件看起来像这样:

0 1 1 1 1 1 1 1 1 1
0 0 0 1 1 1 1 1 1 1
1 1 0 1 1 1 1 0 0 0
1 1 0 0 0 0 1 0 1 0
1 1 1 1 1 0 1 0 1 0
1 1 1 1 1 0 0 0 1 0
1 1 1 1 1 1 1 1 1 0
1 1 1 1 1 1 1 1 1 0
1 1 1 1 1 1 1 1 1 0
1 1 1 1 1 1 1 1 1 0

我不知道为什么不这样做。最后我会成为一个迷宫。

2 个答案:

答案 0 :(得分:0)

首先,System.out.println( intGrid[i][j]);每行会打印一个网格元素。

你可能想要更像

的东西
 for (int i=0; i<10; i++) {
     for (int j=0; j<10; j++)
         {
         System.out.print( intGrid[i][j]);
         System.out.print(" ");
         }
     System.out.println("");
     }

请注意,我们在内部循环中使用print,而不是println。这不会执行回车,因此数字将在一行上。但是,在内循环之后,我们执行println来执行回车/换行。

答案 1 :(得分:0)

public class FileInputExample2 {

    static public void main(String[] args) throws IOException {

        BufferedReader filein = new BufferedReader(new FileReader("GridDATA.txt"));
        int intGrid[][] = new int[10][10];
        Scanner st = new Scanner(filein);
        for (int i = 0; i < 10; i++) {
            for (int j = 0; j < 10; j++)
                intGrid[i][j] = st.nextInt();
        }

        for (int[] arr1d : intGrid)
            System.out.println(Arrays.toString(arr1d));

    }
}