우선, 문제를 해결하기 위해 시간을내어 주셔서 감사합니다..txt 파일의 각 문자열 줄에서 개별 문자를 2D 배열로 어떻게 스캔합니까?
나는 많은 시간을 들여다 보면서 내 문제의 해결 방법을 찾지 못했습니다. 스캐너를 사용하여 .txt 파일의 각 줄 문자열에서 개별 문자를 2D 배열로 어떻게 스캔합니까? 치수?
문제 1 : 알 수없는 .txt 파일의 열 수는 어떻게 결정합니까? 또는 .nextInt() 메서드로 알 수없는 2 차원 배열의 크기를 결정하는 더 좋은 방법이 있습니까?
문제점 2 : 콘솔에서 이상한 [@ # $^@ ^^ 오류없이 2 차원 어레이를 어떻게 인쇄합니까?
문제 3 : 스캐너가 .txt 파일에서 콘솔로 읽는 문자를 인쇄하려면 어떻게합니까 (2 차원 배열 (예, 배열 배열) 알고 있습니다)?
여기 당신에게 문제의 아이디어를 제공하기 위해 내 불완전 코드입니다 :
import java.util.Scanner;
import java.io.File;
public class LifeGrid {
public static void main(String[] args) throws Exception {
Scanner scanner = new Scanner(new File("seed.txt"));
int numberOfRows = 0, columns = 0;
while (scanner.hasNextLine()) {
scanner.nextLine();
numberOfRows++;
}
char[][] cells = new char[numberOfRows][columns];
String line = scanner.nextLine(); // Error here
for (int i = 0; i < numberOfRows; i++) {
for(int j = 0; j < columns; j++) {
if (line.charAt(i) == '*') {
cells[i][j] = 1;
System.out.println(cells[i][j]);
}
}
}
System.out.println(numberOfRows);
System.out.println(columns);
}
}
일단 스캐너가 파일 끝에 도달하면 다시 사용할 수 없습니다. 이를 위해 새 스캐너를 만들어야합니다. – Tushar
그래서 while 루프 후에 스캐너를 다시 만들어야합니까? – Valentina