Java初心者です。
年齢を書き込み書き込んだものが自然数でなければ、「文字を入力してください。」と
出力させるプログラムをtry-catchを使って書きたいのですが、エラーが起きてしまい、
先へ進めない状態です。
もし原因がわかる方、正しい書き方はどのように書けば良いのか、教えてくれると幸いです
こちらがコードです。
Java
1import java.util.Scanner; 2 3public class Main{ 4 public static void main (String args[]){ 5 Scanner scanner = new Scanner(System.in); 6 7 System.out.print("年齢を入力してください"); 8 int age = scanner.nextInt(); 9 System.out.println("年齢は" + age + "です"); 10 11 try{ 12 age = scanner.nextInt(); 13 }catch(NumberFormatException e){ 14 System.out.println("数字を入力してください"); 15 }finally{ 16 System.out.println("処理が終了しました"); 17 } 18 } 19}
これらのコードを実行すると、
Exception in thread "main"
java.util.InputMismatchException
at java.base/java.util.Scanner.throwFor(Scanner.java:939)
at java.base/java.util.Scanner.next(Scanner.java:1594)
at java.base/java.util.Scanner.nextInt(Scanner.java:2258)
at java.base/java.util.Scanner.nextInt(Scanner.java:2212)
at Main.main(Main.java:8)
とエラーが起きてしまいます。
おそらくエラーの原因はtryのところにあると思うのですが、
正しいコードの書き方がわかりません。
私のコードがどこで間違えているのか
どなたかわかるかた、教えてくださると幸いです。
あなたの回答
tips
プレビュー