2012-04-13 43 views
1

我應該編寫一些東西,允許用戶輸入應該是一系列整數,用空格分隔的輸入,而不是非數字/非空格字符。從一個輸入解析多個整數

這樣做的最好方法是什麼?我是否將整個字符串以某種方式分解爲一個數組並檢查每個字符串?

+3

這功課嗎?我認爲你的第一個想法非常好,所以試試看,告訴我們你遇到了什麼(最終)問題。 – 2012-04-13 17:25:30

+0

It it now ...:p – 2012-04-13 17:26:09

+0

您的想法很紮實,您可以在String javadocs中查看如何執行此操作的一些想法。 – smcg 2012-04-13 17:28:07

回答

0

這是我用過

int getInputInt(){ 
    final Scanner keyboard = new Scanner(System.in); 

    int inputInt = 0; 
boolean continueLoop = true; 
while(continueLoop = true) { 
    try{ 
    inputInt= keyboard.nextInt(); 
    continueLoop = false; 
    break; 
    } catch (InputMismatchException e) { 
    keyboard.nextLine(); 
    out.println("That key is not an integer. Try again"); 
    } 
} 
return inputInt; 
    } 
+0

你不應該提供家庭作業標記問題的答案,正如標籤維基提到的那樣:「這可以讓潛在的答覆者知道他們應該指導學生解決問題,而不應該簡單地顯示完整的答案。」 – amit 2012-04-13 17:30:00

+0

請記住,但這不是一個完整的答案無論如何..我不相信它會工作完美,考慮到用戶必須輸入一個多個整數字符串 – squarephoenix 2012-04-13 17:34:52

+0

給學生代碼不會幫助他們學習任何東西@techjunkie .css – 2012-04-13 17:35:16

0

的代碼片段中有錯誤。

1]雖然在java中將不允許初始化。

2]該方法應該返回一個int數組。因此,你做一個hasNextInt並將nextInt存儲在數組中。