2012-03-20 21 views
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()); 

    } 
+0

試して行かなければならないスローコード「のSystem.out.println(g)は、」 g = input.nextInt()の後。文字「 – mfrankli

+0

」を入力すると、ここで何が得られるかを確認しますが、catchメソッドに書いたエラーは表示されません。 – singko

+0

あなたのtry/catchブロック内で発生する可能性のあるエラーはありません。入力の有効性をチェックしたい場合は 'g = input.nextInt();'行をtry/catchブロックに移動してください。または、mfrankliが言ったように、最後に出力をテストするために 'System.out.println(g);'を置いてください。 – John

答えて

6

tryブロックで例外が追加

+0

それを入手しました。ありがとう:) – singko

関連する問題