2017-02-03 11 views
1

例外をスローして停止させるのではなく、フロア関数を使用してユーザー入力の値を修正する必要があります。出来ますか? ユーザが8.3を入力した場合。それは8になり、例外をスローしません。どのようにこれを行うにはどのようなアイデア?私が書いたコードの例外をスローするのではなく整数の値を修正する方法はありますか?

一部はこのように書きます:

try{ 
    int y=0; 
    Scanner inputY = new Scanner(System.in); 
    System.out.println("Enter an Integer between 1-9"); 
    y = inputY.nextInt(); 
    catch(InputMismatchException e){ 
    return 0; 
    } 
    finally{ 
     System.out.println("The input number was not an integer between 1-9"); 
     System.exit(0); 
    } 
+0

'Scanner'は' nextXyz'の読み込みが例外をスローするかどうかをテストするための 'hasXyz'メソッド群を提供します。このメソッドを使用して、 'Scanner'が' int'または 'double'を見ているかどうかを判断し、利用可能なものがあればそれを読むことができます。 – dasblinkenlight

答えて

2

nextInt()が、nextDouble()を使用し、ダブルからint型への変換をしないでください。

+0

Cool。それはとてもうまくいった。ありがとう!! –

+0

あなたは歓迎です:) – davidxxx

関連する問題