Сетка из текста в 2d массив - PullRequest
       2

Сетка из текста в 2d массив

1 голос
/ 22 октября 2010
  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 голосов
/ 22 октября 2010
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));

    }
}
0 голосов
/ 22 октября 2010

С одной стороны, 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 для выполнения возврата каретки / перевода строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...