这个数组列表有什么问题

时间:2017-05-15 12:45:45

标签: java arrays arraylist

当我尝试执行此程序时,我在线程中收到错误消息Exception。我在这里做错了,请让我知道出了什么问题

public class WhileExample1 {
public static void main(String[] args) {
    //int number[] = {};
    int num[4] = {10, 20, 30, 40};
    int i=0;
    while (i<4) {
        System.out.println(num[4]);
        i++;
    }


}

}

当我执行此程序时,我收到此错误

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
Syntax error on token "4", delete this token

at loop_demo.WhileExample1.main(WhileExample1.java:6)

2 个答案:

答案 0 :(得分:3)

不要使用:

int num[4] = {10, 20, 30, 40};
//      ^--------------------------no need to set the size here

相反:

int num[] = {10, 20, 30, 40};

要打印数组的值,您必须使用num[i]

while (i < num.length) {
//            ^^-------------------to avoid any problem of size use array.lenght instead
    System.out.println(num[i]);
    //                     ^-----------------print num[i] not num[4]
    i++;
}

注意没有元素num[4],因为索引从0开始而不是1,因此int num[4] = {10, 20, 30, 40};意味着:

num[0] = 10
num[1] = 20
num[2] = 30
num[3] = 40

我建议您阅读此文档Arrays

答案 1 :(得分:-1)

我在这里看不到任何arrayList,如果你想实现一个arrayList 做这样的事

ArrayList <Integer>list=new ArrayList();
 list.add(1); list.add(2);list.add(3);

但是你使用普通数组;

错误的是你试图访问索引号4,这是数组没有它,为什么? 因为数组索引从0开始,所以在你的情况下

10有索引[0],20有索引[1],30有索引[2],40有索引[3]没有索引[4]这里