如何输出类/数组



好的,这个程序允许用户输入五个形容词和名词,它们在一个段落中输出。这个游戏有一个特定的名字,通常出现在儿童杂志上,但我现在想不起来名字了。前女友。玛丽跳上了(形容词)马。并飞过_(名词)。

我原以为这一切都会很好地解决,因为没有红线之类的。然而,当我按下"播放"按钮后,一个可爱的错误弹出。

exof error…

Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 5, Size: 5

'5'或任何数字(n)是我通过名词TextField在数组中添加的名词的数量。顺便说一下,如果你想知道的话,我正在使用GUI。抱歉,如果物理问题没有意义,我不确定如何表达。

我已经为名词和形容词创建了一个类。

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

任何帮助或提示将不胜感激!div =)

for循环的上界应该是x <= office.size() - 1x < office.size(),因为索引是从0开始的。

可以将for循环更改为以下任意一种:

for (int x=0; x<=office.size()-1; x++) //As suggested by mre

for (int x=0; x<office.size(); x++) 

相关内容

  • 没有找到相关文章

最新更新