1
プログラムは入力として整数を要求します。入力が文字か整数以外の場合にcatchメソッドでエラーメッセージを設定しました。ただし、文字を入力しようとするとエラーメッセージが表示されません。私はまた、異なる例外タイプとそれに対応するインポートを試みましたが、違いはありません。ここでは、コードです:キャッチメソッド(Java)に設定したエラーメッセージが表示されない
public class Random1 {
public static void main(String[] args){
int g;
Scanner input = new Scanner(System.in);
System.out.print("Enter your guess: ");
g = input.nextInt();
Random r = new Random();
int a = r.nextInt(10) + 1;
try {
if (g == a) {
System.out.println("**************");
System.out.println("* YOU WON! *");
System.out.println("**************");
System.out.println("Thank you for playing!");
} else if (g != a) {
System.out.println("Sorry, better luck next time!");
}
} catch (Exception e) {
System.err.println("Not a valid input. Error :" + e.getMessage());
}
試して行かなければならないスローコード「のSystem.out.println(g)は、」 g = input.nextInt()の後。文字「 – mfrankli
」を入力すると、ここで何が得られるかを確認しますが、catchメソッドに書いたエラーは表示されません。 – singko
あなたのtry/catchブロック内で発生する可能性のあるエラーはありません。入力の有効性をチェックしたい場合は 'g = input.nextInt();'行をtry/catchブロックに移動してください。または、mfrankliが言ったように、最後に出力をテストするために 'System.out.println(g);'を置いてください。 – John