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?

7voto

Shivanandam Punkte 1684

Anstatt von nicht offiziellen Websites zu lernen, sollten Sie von der Oracle-Website lernen.

Link folgt: Klicken Sie hier

*Hier finden Sie die Initialisierung sowie die Deklaration mit vollständiger Beschreibung.

int n; // size of array here 10
int[] a = new int[n];
for (int i = 0; i < a.length; i++)
{
    a[i] = Integer.parseInt(s.nextLine()); // using Scanner class
}

Eingabe : 10//Feldgröße 10 20 30 40 50 60 71 80 90 91

Anzeige der Daten:

for (int i = 0; i < a.length; i++) 
{
    System.out.println(a[i] + " ");
}

Ausgabe: 10 20 30 40 50 60 71 80 90 91

4voto

fastcodejava Punkte 37539

Sie können ein Array nicht auf diese Weise initialisieren. Zusätzlich zu dem, was andere vorgeschlagen haben, können Sie tun :

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

4voto

Sedat Kilinc Punkte 2775

Wenn Sie ein Array in einem Konstruktor initialisieren wollen, können Sie diese Array-Initialisierer nicht verwenden, wie.

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

Ändern Sie es einfach in

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

Sie müssen die Größe nicht mit data[10] = new int[] { 10,...,91} Deklarieren Sie die Eigenschaft / das Feld einfach mit int[] data; und initialisieren Sie es wie oben. Die korrigierte Version Ihres Codes würde wie folgt aussehen:

public class Array {

    int[] data;

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

}

Wie Sie sehen, sind die Klammern leer. Es besteht keine Notwendigkeit, die Größe zwischen den Klammern anzugeben, da die Initialisierung und ihre Größe durch die Anzahl der Elemente zwischen den geschweiften Klammern festgelegt sind.

3voto

schubySteve Punkte 647

Sie versuchen, das 10. Element des Arrays auf das Array try zu setzen

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

FTFY

-1voto

Vielleicht klappt das ja:

public class Array {

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

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