Попытка преобразовать текстовый файл доски в 2D массив - PullRequest
0 голосов
/ 02 мая 2020

Текст ниже - это файл моей доски, целые числа (7 7) указывают размеры доски.

7 7
.......
.......
.... x ..
.... x ..
.... x ..
... xx ..
... sx.t

Моя идея - прочитать этот текстовый файл в аргументе командной строки, которую я смог прочитать, но в настоящее время я застрял в том, как я могу взять этот файл платы в массив.

public final class Board {

static String [][] grid; 
static int R, C;

public static void main(String[] args) {

    String testName;
    int R, C;

    String boardFile = args[0];

    In boardIn = new In(boardFile);

    testName = boardIn.readLine();

    R = boardIn.readInt();
    C = boardIn.readInt();

    boardIn.readChar();

    for (int r = 0; r < R; r++) {
        for (int c = 0; c < C; c++) {
            char dummy = boardIn.readChar(); 
            StdOut.print(dummy);
        }

        if (r < R - 1) {
            StdOut.print(boardIn.readChar()); 
        }
    }

    boardIn.close(); 

1 Ответ

0 голосов
/ 02 мая 2020

Вам понадобится двумерный массив char для хранения вашей доски:

char[][] grid = new char[R][C];

Внутри вашего вложенного for l oop вы можете заполнить двумерный массив такой:

grid[r][c] = boardIn.readChar();

...