電網

2010-10-22 40 views
1
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

記事本是一個應用程序,你想要的是從文本轉換,我編輯,使問題更清楚。 – mikerobi 2010-10-22 02:18:03

+0

我必須使用特定的文本文件。我只需要將文件中的數字顯示在應用程序中。 – Shawn 2010-10-22 02:26:54

+0

這是功課嗎?並打印您的結果,以便我們可以更輕鬆地看到發生了什麼事情。 – 2010-10-22 02:30:14

回答

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來執行回車/換行符。

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)); 

    } 
}