Java Scannerクラスメソッドの例の表示
Scannerクラスメソッドに関する例
[質問]Java Essential例3-14:入力エラーの例外
try-catch-finallyブロックを使用して整数を0で割った場合、
プログラムを作成し、「ゼロに分けられない」と出力します.
▼▼コード作成
import java.util.InputMismatchException;
import java.util.Scanner;
public class IntputMis {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("정수를 입력하세요");
int sum = 0, n = 0;
for (int i = 1; i <= 3; i++) {
System.out.print(i + ">>");
try {
n = scanner.nextInt();
}
catch (InputMismatchException e) {
System.out.println("정수를 써야 합니다.");
scanner.next(); //이 부분 주목
i--;
continue;
}
sum += n;
}
System.out.println("합은 " + sum);
scanner.close();
}
}
👉🏻 結果kを追加すると例外が発生しcatch文に向かいます.
k nextInt()で異常が発生し、戻ることができないため、入力バッファに保存されます.
したがって、next()を使用して入力バッファに格納された文字kを受信し、入力バッファのkを消去してこそ、次の繰り返し文のnextInt()が正常に実行される.
i--は,複文を再確認する条件式の場合,異常を避けるためにi++となり,iを繰り上げて減らす.
Reference
この問題について(Java Scannerクラスメソッドの例の表示), 我々は、より多くの情報をここで見つけました https://velog.io/@cse_pebb/Java-Scanner-클래스-메서드와-관련된-예제-풀어보기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol