2017-02-03 56 views
1

我需要使用floor函數修復用戶輸入的值,而不是讓它拋出異常並停止。可能嗎? 如果用戶輸入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'提供了'hasXyz'方法來測試是否讀取'nextXyz'將引發異常。您可以使用此方法來決定'Scanner'是否正在查看'int'或'double',並閱讀哪一個可用。 – dasblinkenlight

回答

2

不要使用nextInt()nextDouble(),使從雙轉換爲int。

double y = inputY.nextDouble(); 
int x = (int) y; 
+0

很酷。它工作得很好。謝謝!! –

+0

歡迎您:) – davidxxx

相關問題