494 Stimmen

Wie initialisiert man ein Array in Java?

Ich initialisiere ein Array wie folgt:

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 weist auf einen Fehler in dieser Zeile hin:

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

Wie kann ich das Problem lösen?

731voto

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

Der obige Text ist nicht korrekt (Syntaxfehler). Es bedeutet, dass Sie ein Array zuweisen data[10] die nur ein Element enthalten kann.

Wenn Sie ein Array initialisieren wollen, versuchen Sie es mit Array-Initialisierer :

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};

Beachten Sie den Unterschied zwischen den beiden Erklärungen. Bei der Zuweisung eines neuen Arrays an eine deklarierte Variable, new verwendet werden muss.

Selbst wenn Sie die Syntax korrigieren, wird der Zugriff auf data[10] ist immer noch falsch (Sie können nur auf data[0] a data[9] weil der Index von Arrays in Java auf 0 basiert). Zugriff auf data[10] wirft eine ArrayIndexOutOfBoundsException .

47voto

Dean Povey Punkte 8846

Versuchen Sie

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

30voto

Bernie Perez Punkte 12323

Wenn Sie ein Array der Größe 10 erstellen, werden 10 Slots zugewiesen, aber von 0 bis 9. Diese for-Schleife könnte Ihnen helfen, das etwas besser zu verstehen.

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;
        }
    }
}

16voto

Das können Sie tun:

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

13voto

Vinayak Punkte 5668

Syntax

 Datatype[] variable = new Datatype[] { value1,value2.... }

 Datatype variable[]  = new Datatype[] { value1,value2.... }

Beispiel:

int [] points = new int[]{ 1,2,3,4 };

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X