2017-04-22 2 views
0

ユーザーが0より小さい数字を入力したときにキャッチするtry-catchステートメントを作成しようとしていますが、ユーザーがchar/Stringを入力するとキャッチします。ユーザー。ユーザー入力の試行キャッチ

try { 
    System.out.print("How many square feet are on your lot? (Enter 0 to quit): "); 
    userSquareFeet = scnr.nextInt(); 

    if (userSquareFeet < 0) { 
     throw new Exception("You can't have a negative value"); 
    } 
} catch (InputMismatchException e) { 
    System.out.println("You can not enter a character(s)."); 
} catch (Exception e) { 
    System.out.println(e.getMessage()); 
} 

char/Stringを入力すると、何らかの理由で無限ループが開始されます。どんな助けもありがたいです。簡単な質問を申し訳ありませんが、Zybooks.comは私の意見ではこのセクションでうまく行っていませんでした。

+0

[基本プログラムhanging nextInt()]の可能な複製(http://stackoverflow.com/questions/32151190/basic-program-hanging-at-nextint) – didiz

答えて

0

nextInt()メソッドを使用すると、プログラムは入力が実際に整数になるまで実際にループに入ります。 あなたのプログラム入力は、既にそれ自体でタイプ制限されています。

関連する問題