J'initialise un tableau de données 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 pointe une erreur sur la ligne
data[10] = {10,20,30,40,50,60,71,80,90,91};
Comment puis-je résoudre le 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 élément.
Si vous voulez initialiser un tableau, essayez d'utiliser Array Initializer :
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 affectez un nouveau tableau à une variable déclarée, vous devez utiliser new
.
Même si vous corrigez la syntaxe, accéder à data[10]
est toujours incorrect (vous pouvez uniquement accéder à data[0]
à data[9]
car l'index des tableaux de Java est basé sur 0). Accéder à data[10]
lancera une ArrayIndexOutOfBoundsException .
Essayez data = new int[] {10,20,30,40,50,60,71,80,90,91 };
Lorsque vous créez un tableau de taille 10, il alloue 10 emplacements mais de 0 à 9. Cette boucle for peut vous aider à mieux voir cela.
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;
}
}
}
Tu peux faire:
int[] data = {10,20,30,40,50,60,71,80,90,91};
Syntaxe
Datatype[] variable = new Datatype[] { value1,value2.... }
Datatype variable[] = new Datatype[] { value1,value2.... }
Exemple :
int [] points = new int[]{ 1,2,3,4 };
Plutôt que d'apprendre des sites Web non officiels, apprenez des sites Web d'Oracle
le lien suit: Cliquez ici
* Vous pouvez trouver l'initialisation ainsi que la déclaration avec une description complète *
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
}
Entrée : 10 // taille du tableau 10 20 30 40 50 60 71 80 90 91
Affichage des données:
for (int i = 0; i < a.length; i++)
{
System.out.println(a[i] + " ");
}
Sortie: 10 20 30 40 50 60 71 80 90 91
Vous ne pouvez pas initialiser un tableau comme ça. En plus de ce que d’autres ont suggéré, vous pouvez faire:
data[0] = 10;
data[1] = 20;
...
data[9] = 91;
Si vous souhaitez initialiser un tableau dans un constructeur, vous ne pouvez pas utiliser ces initialiseurs de tableaux comme.
data= {10,20,30,40,50,60,71,80,90,91};
Il suffit de changer pour
data = new int[] {10,20,30,40,50,60,71,80,90,91};
Vous n'avez pas besoin de spécifier la taille avec data[10] = new int[] { 10,...,91}
Décrivez simplement la propriété/le champ avec int[] data;
et initialisez-le comme ci-dessus. La version corrigée de votre code ressemblerait à ceci:
public class Array {
int[] data;
public Array() {
data = new int[] {10,20,30,40,50,60,71,80,90,91};
}
}
Comme vous le voyez, le support est vide. Il n'est pas nécessaire d'indiquer la taille entre les crochets, car l'initialisation et sa taille sont spécifiées par le nombre d'éléments entre les accolades.
vous essayez de définir le 10ème élément du tableau sur le tableau essayer
data = new int[] {10,20,30,40,50,60,71,80,90,91};
FTFY
déclaration de variables de tablea
Pour utiliser un tableau dans un programme, vous devez déclarer une variable afin de référencer le tableau, et vous devez spécifier le type de tableau que la variable peut référencer. Voici la syntaxe pour déclarer une variable de tableau -
Syntaxe
dataType[] arrayRefVar; // preferred way.
or
dataType arrayRefVar[]; // works but not preferred way.
Remarque - Le style dataType [] arrayRefVar est préféré. Le style dataType arrayRefVar [] provient du langage C/C++ et a été adopté dans Java pour prendre en charge les programmeurs C/C++.
Exemple Les extraits de code suivants sont des exemples de cette syntaxe -
double[] myList; // preferred way.
or
double myList[]; // works but not preferred way.
Création de tableaux
Vous pouvez créer un tableau en utilisant l'opérateur new avec la syntaxe suivante:
Syntaxe
arrayRefVar = new dataType[arraySize];
La déclaration ci-dessus fait deux choses -
Il crée un tableau en utilisant new dataType [arraySize].
Il affecte la référence du tableau nouvellement créé à la variable arrayRefVar.
La déclaration d'une variable de tableau, la création d'un tableau et l'affectation de la référence du tableau à la variable peuvent être combinés en une seule instruction, comme indiqué ci-dessous -
dataType[] arrayRefVar = new dataType[arraySize];
Sinon, vous pouvez créer des tableaux comme suit -
dataType[] arrayRefVar = {value0, value1, ..., valuek};
Les éléments du tableau sont accessibles via l'index. Les indices de tableau sont basés sur 0; c'est-à-dire qu'ils commencent de 0 à arrayRefVar.length-1.
Exemple
L'instruction suivante déclare une variable de tableau, myList, crée un tableau de 10 éléments de type double et attribue sa référence à myList -
double[] myList = new double[10];
Le tableau à deux dimensions peut être initialisé de la même manière:
Exemple - syntaxe
dataType[][] arrayRefVar = new dataType[arraySize][arraySize];
Ex- int[][] arr=new int[5][5];
Peut-être que ça va marcher:
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};
}
}