好的,所以这个程序允许用户输入五个形容词和名词,然后在一个段落中输出。这个游戏有一个特定的名字,通常在儿童杂志上找到..但这个名字现在让我忘记了。前任。“玛丽跳上(形容词)马。飞过_(名词)。
现在我认为这一切都会很好地解决,因为没有红线之类的。但是,当我按下“播放”按钮后,会弹出一个可爱的错误。
前错误...
Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 5, Size: 5
'5' 或任何数字 (n) 是我通过名词 TextField 添加到数组中的名词数。顺便说一句,如果您想知道的话,我正在使用 GUI。抱歉,如果物理 questino 没有意义,我不知道该怎么说。
我为名词和形容词创建了一个类。
class noun {
String noun;
noun (String _noun) {
noun = _noun;
}
}
class adjective {
String adjective;
adjective (String _adjective) {
adjective = _adjective;
}
}
ArrayList <adjective> small = new ArrayList <adjective>(); //array for adjectives
ArrayList <noun> office = new ArrayList <noun>(); //array for nouns
private void addButtonActionPerformed(java.awt.event.ActionEvent evt) { //stores info
String noun, adjective;
//Take inputted words
noun = nounField.getText();
adjective = adjectiveField.getText();
//Store values in array ADJECTIVE
adjective c = new adjective(adjective);
small.add(c);
//Store values in array NOUN
noun d = new noun(noun);
office.add(d);
}
private void playButtonActionPerformed(java.awt.event.ActionEvent evt) { //play button
String temp = "";
//Allows user to view information from array
for (int x=0; x<=office.size(); x++) {
temp = temp + " paragraph " + office.get(x).noun + "/n";
}
paraTArea.setText(temp); //TextArea where paragraph with nouns etc are outputted
任何帮助或提示将不胜感激!=)