저는 몇 달 동안의 경험이있는 비교적 새로운 자바 프로그래머입니다. 그래서 나는 실수를 저 지르지 않습니다.Java 스캐너 NextInt가 텍스트 파일의 모든 정수를 출력하지 않습니다.
저는 현재 대화 형 GUI를 사용하여 Dijkstra 기반 패스 파인더를 만드는 대학 프로젝트에 참여하고 있습니다. 이 부분에 대한 연구를 시작하기 위해 먼저 값을 직접 입력해야하는 것과 달리 그래프 자체의 무 방향성 가중치를 나타내는 미리 정의 된 인접성 행렬을 읽을 수 있기를 원했습니다.
이 때문에 필자는 문제의 텍스트 파일에서 빠르게 읽을 수 있도록 스캐너와 구분 패턴을 사용하기로 결정했습니다. 내 주요 목표는 텍스트 파일 내의 각 값을 꺼내서 2D 정수 배열에 추가하여 데이터를 효율적으로 사용할 수있게하는 것입니다.
내 주된 문제는 스캐너 자체가 텍스트 파일 내의 처음 3 개의 정수만 읽은 다음 읽기를 중지하고 프로그램이 종료된다는 것입니다. 내 구분 기호에 대해 잘 작동하는 것으로 보이는 공백 문자 ("")를 사용하고 있지만 문제의 원인이되는 줄 끝과 관련이 있다고 가정합니다.
public static void readMatrixFromFile() throws IOException {
File file = new File("Matrix.txt"); //Instance of File with parameter of filename in default location.
Scanner myScan = new Scanner(file);
myScan.useDelimiter(" ");
while(myScan.hasNextInt()){ //Checks whether or not there is a next token within the Text file.
System.out.println(myScan.nextInt()); //Prints out next item within text file, with respect to Delimiter being ignored.
}
myScan.close(); //Safely closes Scanner.
}
많은 감사,
- 마이클
외부 링크를 제공하지 말고 질문에 코드를 넣으십시오. – user2004685
당신이 제공 한 전부가 화면 덤프라면 어떻게 테스트 할 것입니까? 실제 코드와 데이터를 질문에 복사/붙여 넣으십시오. 실제 코드 및 텍스트로서 이미지가 아닌 우리는 당신의 일을 재 입력 할 인내심이 없습니다. –
'useDelimeter' 라인을 제거하십시오 – Michael