如何在Java中初始化數組?

我正在初始化這樣的數組: 數組

public class Array {

    int data[] = new int[10]; 
    /** Creates a new instance of Array */
    public Array() {
        data[10] = {10,20,30,40,50,60,71,80,90,91};
    }     
}

NetBeans在此行指出一個錯誤: spa

data[10] = {10,20,30,40,50,60,71,80,90,91};

我該如何解決這個問題? code


#1樓

嘗試data = new int[] {10,20,30,40,50,60,71,80,90,91 }; 索引


#2樓

您正在嘗試將數組的第10個元素設置爲try get

data = new int[] {10,20,30,40,50,60,71,80,90,91};

FTFY it


#3樓

data[10] = {10,20,30,40,50,60,71,80,90,91};

上面的信息不正確(語法錯誤)。 這意味着您正在爲只能分配一個元素的data[10]分配一個數組。 io

若是要初始化數組,請嘗試使用Array Initializerfor循環

int[] data = {10,20,30,40,50,60,71,80,90,91};

// or

int[] data;
data = new int[] {10,20,30,40,50,60,71,80,90,91};

注意兩個聲明之間的區別。 將新數組分配給已聲明的變量時,必須使用newclass

即便您糾正了語法,訪問data[10]仍然是錯誤的(您只能訪問data[0]data[9]由於Java中數組的索引是基於0的)。 訪問data[10]將拋出ArrayIndexOutOfBoundsException變量


#4樓

您不能像這樣初始化數組。 除了其餘人的建議,您還能夠:

data[0] = 10;
data[1] = 20;
...
data[9] = 91;

#5樓

當建立大小爲10的數組時,它分配了10個插槽,但從0到9。此for循環可能會幫助您看到更好的效果。

public class Array {
    int[] data = new int[10]; 
    /** Creates a new instance of an int Array */
    public Array() {
        for(int i = 0; i < data.length; i++) {
            data[i] = i*10;
        }
    }
}
相關文章
相關標籤/搜索