我有一個非常簡單的程序,只有一個文本框和一個按鈕。陣列出界問題
用戶被告知將兩種顏色的名稱放在框中,用空格分隔。
例如「紅色綠色」 輸出將在屏幕上打印,「蘋果是紅色的,帶有綠色圓點。」。
但是我需要它在屏幕上只輸入一個單詞的情況下運行。我正在使用一個數組來保存拆分字符串。當我只輸入紅色時,我得到這個錯誤。
「AWT-EventQueue的 - 0」 java.lang.ArrayIndexOutOfBoundsException:
下面是代碼:
String userInput = textField.getText();
String[] userInputSplit = userInput.split(" ");
String wordOne = userInputSplit[0];
String wordTwo = userInputSplit[1];
if (wordTwo !=null){
System.out.println("The apple is " + wordOne + " with " + wordTwo + " dots.");
} else {
System.out.println("The apple is " + wordOne + " with no colored dots.");
}
我會使用'字符串wordTwo = userInputSplit.length> 1? userInputSplit [1]:null;',我覺得更容易解析,但這只是我。 –
@DanielFischer是的,這將是更清潔,但由於這個問題是相當基本的,我認爲使用條件運算符會給OP增加更多的困惑。 –
@MadProgrammer有什麼問題?我沒有看到任何問題,但目前我沒有編譯器在我面前。 –