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
我不知道为什么它不工作。最终我会 build 一个迷宫。
最佳答案
一方面,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
来执行回车/换行。
关于java - 从文本到二维数组的网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3993417/