2014-04-19 6 views
1

각 줄마다 다른 정수가있는 파일이 있습니다."hasNextInt()"스캐너 문제

5 
4 
3 
2 
1 

각 int를 실행하고 해당 int를 배열에 넣으려는 프로그램을 작성하려고합니다. 지금까지, 내 ​​코드는 다음과 같습니다

 Scanner sc = new Scanner(args[0]); 

     BufferedReader reader = new BufferedReader(new FileReader(args[0])); 
     lines = 0; 
     while (reader.readLine() != null) lines++; 
     reader.close(); 

     intArray = new int[lines]; 

     int counter = 0; 
     while(sc.hasNextInt()) { 
     intArray[counter] =sc.nextInt(); 
     counter++; 
     } 

내 프로그램은 인덱스의 오른쪽 번호 배열을 생성하지만 그것은 결코 스캐너의 while 루프로 진행되지 않습니다. 나는이 코드가 같은이 코드를 가지고있는 것 같아 왜 이런지 모르겠다. page.

답변

3

파일 경로가 공백으로 구분 된 번호가 아니라면 숫자가 표시되지 않습니다. Scannerwas scanning the file path (예 : String) 파일이 아닙니다. 당신이 아니라 두 번 파일을 읽는 것보다 List를 사용한 경우

Scanner sc = new Scanner(new FileInputStream(args[0])); 

그리고 참고로, 그것은 더 명확 할 것이다.

+0

그건 속임수 였고, 파일이 아닌 문자열을보고있었습니다. 완전한! – Ctech45