У меня есть текстовый файл, который я пытаюсь прочитать с помощью класса сканера.
Я использую двойной цикл for, чтобы прочитать файл и передать его в 2d массив.
Файл выглядит так:
3 3. Р # . ,#,#
первая строка - это длина и ширина массива 2d соответственно.
Я получил эту работу, когда он читает аналогичный текстовый файл, но вместо char он имеет тип int, подобный следующему:
3 3 1 0 1 1 1 1 0 0 1
Метод, который я здесь использую, выглядит следующим образом:
readFile(String filename){
Scanner scan = new Scanner(new File(filename));
// read the first two numbers in the file for the size of the array
int numberRows = scan.nextInt();
int numberColumns = scan.nextInt();
char[][] grid = new char[numberRows][numberColums];
for (int i = 0; i < numberRows; i++) {
for (int j = 0; j < numberColumns; j++) {
grid[i][j] = scan.next().charAt(0);
}
}
}
Я ожидаю, что это будет работать так же, как и прииспользуя char вместо int.
Однако я получаю ошибку NoSuchElementException, когда scan.next (). charAt (0) фактически запускается, пытаясь прочитать символ из текстового файла.
Я пытаюсьчитать строки вместо символов? Я предполагаю, что отдельный класс будет читаться как символ классом java scanner.