Java初心者です。
年齢を書き込み書き込んだものが自然数でなければ、「文字を入力してください。」と
出力させるプログラムをtry-catchを使って書きたいのですが、エラーが起きてしまい、
先へ進めない状態です。
こちらがコードです。
import java.util.Scanner; public class Main{ public static void main (String args[]){ Scanner scanner = new Scanner(System.in); System.out.print("年齢を入力してください"); int age = scanner.nextInt(); System.out.println("年齢は" + age + "です"); try{ age = scanner.nextInt(); }catch(NumberFormatException e){ System.out.println("数字を入力してください"); }finally{ System.out.println("処理が終了しました"); } } }
これらのコードを実行すると、
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のところにあると思うのですが、
正しいコードの書き方がわかりません。
私のコードがどこで間違えているのか、また、正しい書き方はどのように書けば良いのか、
どなたかわかるかた、教えてくださると幸いです。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/02/22 23:03
2022/02/23 02:47
2022/02/23 22:50
2022/02/23 22:51
退会済みユーザー
2022/02/24 12:44 編集
退会済みユーザー
2022/02/24 12:43
2022/02/24 20:14
2022/02/25 01:57