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 ?
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
Essayez `data = new int[] {10,20,30,40,50,60,71,80,90,91 };``
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