gpt4 book ai didi

Java:数组索引越界

转载 作者:行者123 更新时间:2023-12-01 19:08:36 26 4
gpt4 key购买 nike

我得到这个异常:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 100
at Vindu.<init>(setevelger.java:64)
at setevelger.main(setevelger.java:22)

当我运行此代码时:

    public knapp seter[]=new knapp[100]; //knapp means button

int rad=0; //rows
int sete=0; //seats
int antallSeter=0; //number of seats
for (int i=0;i<10;i++){
for (int j=0;j<10;j++){
seter[antallSeter]= new knapp("Rad "+(rad+1)+", Sete "+(sete+1));
seter[antallSeter].setBackground(Color.GREEN);

add(seter[antallSeter]);
antallSeter++;
if(j==10){
sete=0;
}else{
sete++;
}
}
rad++;
}

//creates an eventlistener
Knappelytter lytteren = new Knappelytter();
seter[antallSeter].addActionListener(lytteren);
pack();

如果我这样做:

public knapp seter[]=new knapp[120]; //knapp means button

我收到此错误:

Exception in thread "main" java.lang.NullPointerException
at Vindu.<init>(setevelger.java:64)
at setevelger.main(setevelger.java:22)

这两个错误都是在运行时创建窗口时出现的。

因此,代码应该创建 100 个按钮并将它们存储在一个数组中,每个按钮都有一个行号和座位号。

我被困住了,我不知道该往哪里看。

我应该使用数组列表吗?

最佳答案

在 for 循环中,antalSetter 在上一个循环中增加到 100 - 第一个异常(exception),如果将数组长度增加到 120 - 您将访问索引 100 处的 null 元素。

关于Java:数组索引越界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9167450/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com