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
我不知道为什么不这样做。最后我会成为一个迷宫。
答案 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));
}
}