그래서 내 스캐너가 기대 필수 입력되면 이중 입력 사용자의 가능한 예외를 처리하는 것을 시도하고있다 :Java에서 .nextInt()를 사용할 때 우발적 인 double 입력을 처리하는 방법은 무엇입니까?
boolean go = true;
do {
System.out.print("Please enter one grade from 0 - 100. To end input, enter a
negative integral value.\n");
try {
int myInt = scanner.nextInt();
.
.
.
}
catch (InputMismatchException e) {
System.out.println("Oops!! Please enter only integral numbers");
}
while (go);
이 숫자가 아닌 입력 작업 (예 : 편지)가 아닌 경우 I 3.14 또는 -와 같은 다른 ASCII 기호를 입력하십시오. 이 경우 프로그램을 죽일 때까지 아래 줄이 반복됩니다.
Please enter one grade from 0 - 100. To end input, enter a negative integral value.
Oops!! Please enter only integral numbers.
아이디어가 있으십니까? : D
대답 : 나는 (A System.in의 InputStream 사용) 위의 게시 된 코드를 시도 System.in, 및 자바 6
"내 코드가 폭발합니다"보다 좀 더 정확하게 표현할 수 있습니까? –
"폭발"이란 무엇을 의미합니까? 또 다른 예외가 있습니까? – Dmitry
사용자가'scanner.nextInt();'에'double'을 입력하면'InputMismatchException'이 실제로 throw됩니다. 코드에서 다른 작업을 수행하지 않습니까? 그렇지 않다면, 읽혀지는 값은 무엇입니까? 입력 된 double의 반올림 된 버전입니까? – bguiz