2017-04-04 1 views
-2

그래서 나는 프로그램이 계속 던지는 오류를 알아낼 수 없습니다. 그것은 내 메뉴에서 옵션 2를 선택했을 때만 발생합니다. 오류 라인을 지시하는 줄은 인 줄 140입니다. "userChoice = one.nextInt();"오류를 찾아 낼 수 없습니까? (Java)

문제가 될 수있는 아이디어가 있으십니까? 이 코드 읽을 더 이상의 int가 때문입니다 https://pastebin.com/dqXQhJvN

+1

다음 번에 조사하십시오. http://stackoverflow.com/questions/13042008/java-util-nosuchelementexception-scanner-reading-user-input – Tom

+0

스캐너 개체를 사용하는 방법을 볼 수 있습니까 –

답변

1

의 기름 한 부분이기 때문에 이것은 내가 페이스트 빈에있는 코드를 게시 오류 코드

java.util.NoSuchElementException 
at java.util.Scanner.throwFor(Unknown Source) 
at java.util.Scanner.next(Unknown Source) 
at java.util.Scanner.nextInt(Unknown Source) 
at java.util.Scanner.nextInt(Unknown Source) 
at TickerReader.main(TickerReader.java:140) 

입니다. nextInt()을 호출하기 전에 먼저 hasNextInt()을 확인해야합니다.

+0

hasNext() 함수. if (scan.hasNext()) {// 입력을 읽음} – victor

+0

이렇게하면 다음 입력이 정수인지 수동으로 확인해야합니다. (나는 내 ​​대답을 편집 한 것처럼 당신이 그것을 쓴다고 생각합니다). –

+0

upvoter는 질문을 읽는 것을 배울 수 있습니까? 이것은 obivously 문제에 대한 해결책이 아니라 단지 증상을 처리하는 방법입니다. – Tom

0

스캐너의 nextInt()을 사용하는 경우 먼저 hasNextInt()이 먼저 있는지 확인하는 것이 가장 좋습니다.

0

당신은 당신은 또한 switch(userChoice)

0

에 대한 귀하의 경우/다른 문을 변경할 수 hasNextInt()이 그것을해야 읽을 수 더의 int가 있는지 확인해야합니다 나는

을 복용하여 오류를 해결 할 수 있었다

Scanner two = new Scanner(System.in); two.close(); if, else if 문 앞에 놓습니다.

관련 문제