Comment initialiser un tableau en Java ?

J'initialise un tableau comme ceci :

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 signale une erreur à cette ligne :

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

Comment puis-je résoudre ce problème ?

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

Ce qui précède n'est pas correct (erreur de syntaxe). Cela signifie que vous assignez un tableau à data[10] qui ne peut contenir qu'un seul élément.

Si vous voulez initialiser un tableau, essayez d'utiliser [Array Initializer][1] :

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

Remarquez la différence entre les deux déclarations. Lorsque vous assignez un nouveau tableau à une variable déclarée, vous devez utiliser new.

Même si vous corrigez la syntaxe, l'accès à data[10] reste incorrect (vous ne pouvez accéder qu'à data[0] à data[9] car l'index des tableaux en Java est basé sur 0). L'accès à data[10] provoquera une [ArrayIndexOutOfBoundsException][2].

[1] : https://docs.oracle.com/javase/specs/jls/se8/html/jls-10.html#jls-10.6 [2] : https://docs.oracle.com/javase/8/docs/api/java/lang/ArrayIndexOutOfBoundsException.html

Commentaires (3)

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

Commentaires (1)

vous essayez de définir le 10ème élément du tableau au tableau essayer

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

FTFY

Commentaires (0)