2012-01-06 3 views
0

입력기로 스캐너를 사용하여 작업하려고하지만 스캐너가 작동하지 않습니다. Java 스캐너 클래스에서 마지막 입력 행을 검색하지 않습니다.

while(scan.hasNextLine()) 
    { 
     System.out.println(scan.nextLine()); 
    } 

그냥 테스트 베드로서 반드시 모든 것이 제대로 입력되고있는 만들기 :

나는 다음과 같은 코드가 실행 복잡한 아무것도 없다. 시험 자료를 복사하면

5 
4 
3 
2 
1 

출력이 마지막 행을 생략합니다. 비어있는 경우에도 nextLine이 문자열을 반환 할 것이기 때문에 nextLine이 반환 할 것이기 때문에 확신 할 수 있습니다.하지만 결국에는 데이터를 입력하는 방법으로이 방식으로 작동해야합니다. 아무도 내가 이것을 고칠 수있는 방법을 알고 있습니까? 내 유일한 추측은 다른 스캐너를 사용하거나 어떻게 든 빈 문자열을 입력 끝에 추가하는 것이었지만 두 번째 방법은 확실하지 않았고 다른 스캐너와 같은 것을 생각하지 않았습니다. 작동 할 것이다. 미리 감사드립니다!

+0

입력 및 출력은 무엇입니까? –

+0

위에 표시된 5, 4, 3, 2, 1을 복사하면 5, 4, 3, 2가 출력됩니다. – WWaldo

+2

더 많은 코드를 게시 할 수 있습니까? 당신이하는 일이 무엇인지 분명하지 않습니다. –

답변

2

마지막 행 MIGHT "입력"문자가 없습니다. 그래서 그것은 그것을 줄의 끝으로 취급하지 않습니다. 시도해보십시오.

> 5 
> 4 
> 3 
> 2 
> 1 
> 
2

나는 Eclipse에서 이것을 시도했습니다. 나는 Daryl Teo의 제안을 복제하지 않았다. .txt에서 제공 한 것과 동일한 입력입니다. 코멘트에 요청 된대로 바로 표준 입력에가는뿐만 아니라, 입력 파일에 Scanner을 가리키는, 즉 당신이 좀 더 코드를 게시하시기 바랍니다 수

5 
4 
3 
2 
1 

이다, 나에게 당신이 원하는 결과를 얻었다? 오류는 귀하의 Scanner과 관련이없는 것 같습니다. 이상하게 들릴 수 있습니다.

관련 문제