Ошибка при попытке вернуть 2D-массив основному методу в java (ArrayIndexOutOfBoundsException) - PullRequest
0 голосов
/ 13 апреля 2020

Я пытаюсь вернуть 2D-массив основному методу в java. Предполагается, что метод читает текстовый файл, местоположение которого передается как args [0] в методе main. Однако, когда я пытаюсь напечатать массив, чтобы увидеть, правильно ли я его вернул, я получаю следующую ошибку:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at Practice.main(Practice.java:21)

Вот мой код:

public class Practice {


public static void main(String[] args) throws FileNotFoundException {


    // Accept all command arguments and stores them in the relative variable
    if (args.length == 2) {
        // Text mode
    } else if (args.length == 1) {
        In in = new In(args[0]);

        String [][]board = readBoard(in);

        System.out.println(board);

        }

    }


public static String[][] readBoard(In in) throws ArrayIndexOutOfBoundsException {


        while(in.hasNextLine()) {
        String S = in.readLine();
        int R = in.readInt();
        int C = in.readInt();

            String [][]board = new String [R][C];


            for (int r = 0; r < R; r++) {
                char dummy = in.readChar();

            while(in.hasNextLine()) {
            for (int c = 0; c < C; c++) {
                char obs = in.readChar();
                String o = Character.toString(obs);
                // assign each element in the board file to a 2D array
                    board[r][c] = (o);

            }
        }
    }

        return board;
}
    return null;    

}}

И текстовый файл имеет следующий формат:

Test file 5 5 ..... s.... .x.L. .xxxx ....t

Я не уверен, что, возможно, я неправильно читаю файл как двумерный массив или нет , Любая помощь будет оценена!

...