0
시스템 종료는 프로그램이 끝나면 발생하지만 inner while 루프와 똑같이 작동합니다. 어떤 제안이라도 환영합니다. 여기에 내가 오류 메시지입니다 :무한 while 루프로 인해 Java가 throw되는 경우 NoSuchElementException
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:907)
at java.util.Scanner.next(Scanner.java:1530)
at java.util.Scanner.nextInt(Scanner.java:2160)
at java.util.Scanner.nextInt(Scanner.java:2119)
at beast.main(beast.java:75)
것은 여기에 내 코드 좋아요
while(loopkey==1){//Call Methods and enables user to pick another exercise
UserManual();
System.out.print("Input the topickey here: ");//prompts for topic
int topickey=kbd.nextInt();//scans topickey(which is an int)
if(topickey==1)DoAdditionEx(j);//does addition
else if(topickey==2)DoSubtractionEx(j);//does subtraction
else if(topickey==3)DoMultiplicationEx(j);//does multiplication
else{
int errorkey=1;
while(errorkey==1){
System.out.print("ERROR: COMMAND NOT RECONGISED\nPlease reselect your topic of interest: ");
topickey=kbd.nextInt();
if(topickey==1 || topickey==2 || topickey==3) errorkey=0;
}
}
if(topickey==1)DoAdditionEx(j);//does addition
else if(topickey==2)DoSubtractionEx(j);//does subtraction
else if(topickey==3)DoMultiplicationEx(j);//does multiplication
System.out.println("Would you like to continue practicing? Please enter '1' for yes or '0' for no.");
System.out.print("Input your choice here: ");
int multitopickey=kbd.nextInt();
if(multitopickey!=1) loopkey=0;
}
'nextInt()'를 호출하기 전에'hasNextInt()'를 호출해야합니다. 그렇지 않으면'스캐너 '에서'InputMismatchException'을 얻습니다. –
hasNextInt()에 익숙하지 않습니다. (아직 Java에서 새로 도입되었습니다.) 코드 수정이 가능하여 수정 방법을 알 수 있습니까? –
스택 추적이 불완전합니다. 오류를 붙여 넣을 때 관련 세부 사항을 포함시켜야합니다. 디버깅 할 때 시간을 절약 할 수 있습니다. 예를 들어, 던져진 실제 예외 유형을 생략했습니다. 실제로 깨는 코드 비트는 포함하지 않았습니다. 여기서 스캐너를 참조하지는 않습니다. –