我试图用0-99的值填充苹果,并且只想在数组中使用20个空格,然后将其打印到控制台。我在第18行不断收到indexOutOfBoundsException错误。
我试图将香蕉设置为停止while循环,但我一直在填充数组。
import java.util.Random;
public class arrayFill {
private int[] apples = new int [20];
public static void main(String[] args) {
arrayFill obj = new arrayFill();
Random rand = new Random();
arrayFill pear = new arrayFill();
int banana = -1;
int orange = -1;
while(banana != 0) {
orange = rand.nextInt(100);
banana = pear.apples[20];
}
System.out.println(apples);
}
}
我想输出具有20个随机值的apples数组,但是我总是会收到此错误。
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 20
at arrayFill.main(arrayFill.java:19)
答案 0 :(得分:0)
我想您是编程的新手。如果您要做的只是创建一个大小为20的数组,并使用数字0-99填充它,那么您的代码将比需要的复杂得多。这就是您所需要的:
import java.util.*;
public class arrayFill {
public static final void main(String[] args){
int[] apples = new int[20];
Random rand = new Random();
//Populating the array
for(int i = 0; i < apples.length; i++){
apples[i] = rand.nextInt(99);
}
//Printing out the array
System.out.println(Arrays.toString(apples));
}
}
答案 1 :(得分:0)
就像KevinO在评论中已经提到的那样,由于引用了第21个对象的pear.apples[20]
,您将获得ArrayIndexOutOfBoundsException。
实际上,您不需要橙色即可充满苹果。在循环的末尾添加banana++
,并将条件替换为banana != 19
。
我建议您在代码中尝试一些组合。例如,最初将香蕉设置为0,使用<和>作为比较运算符。通过这样做,您将了解代码的工作原理。