我有一个非常简单的程序,带有一个文本框和一个按钮。
告诉用户在框中输入两种颜色的名称,以空格分隔。
例如“红色绿色”
输出将显示在屏幕上,“苹果是带绿点的红色”。
但是,当屏幕上只输入一个单词时,我需要它起作用。我正在使用包含拆分字符串的数组。当我只输入红色时,会出现此错误。
“ 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.");
}
最佳答案
可以像这样简单地做一些事情:
String wordOne = userInputSplit[0];
String wordTwo = null;
if (userInputSplit.length > 1){
//This line will throw an error if you try to access something
//outside the bounds of the array
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.");
}