J'initialise un tableau comme celui-ci:
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 cette ligne:
data[10] = {10,20,30,40,50,60,71,80,90,91};
Comment puis-je résoudre le problème?
java
arrays
initialization
bavard
la source
la source
Réponses:
Ce qui précède n'est pas correct (erreur de syntaxe). Cela signifie que vous affectez un tableau à
data[10]
auquel ne peut contenir qu'un élément.Si vous souhaitez initialiser un tableau, essayez d'utiliser Array Initializer :
Notez la différence entre les deux déclarations. Lors de l'attribution d'un nouveau tableau à une variable déclarée,
new
doit être utilisé.Même si vous corrigez la syntaxe, l' accès
data[10]
est toujours incorrecte (vous ne pouvez accéderdata[0]
àdata[9]
parce que l' index des tableaux en Java est basé sur 0). L'accès lèveradata[10]
une ArrayIndexOutOfBoundsException .la source
public static void product(int[] array){ int[] productArray = new int[array.length];
et que je veux définir toutes les valeurs deproductArray
zéro , que dois-je écrire? (Je pense que je devrais écrire une boucle et mettre toutes les valeurs à zéro, y a-t-il une meilleure façon de le faire?)Essayer
data = new int[] {10,20,30,40,50,60,71,80,90,91 };
la source
Lorsque vous créez un tableau de taille 10, il alloue 10 emplacements mais de 0 à 9. Cette boucle for peut vous aider à voir cela un peu mieux.
la source
Tu peux faire:
la source
Syntaxe
Exemple :
la source
Plutôt que d'apprendre des sites Web non officiels, apprenez du site Web Oracle
lien suivant: Cliquez ici
* Vous pouvez trouver l'initialisation ainsi que la déclaration avec une description complète *
Entrée : 10 // taille du tableau 10 20 30 40 50 60 71 80 90 91
Affichage des données:
Sortie: 10 20 30 40 50 60 71 80 90 91
la source
Vous ne pouvez pas initialiser un tableau comme ça. En plus de ce que d'autres ont suggéré, vous pouvez faire:
la source
Si vous souhaitez initialiser un tableau dans un constructeur, vous ne pouvez pas utiliser ces initialiseurs de tableau comme.
Changez-le simplement en
Vous n'avez pas besoin de spécifier la taille avec
data[10] = new int[] { 10,...,91}
Déclarez simplement la propriété / le champ avecint[] data;
et initialisez-le comme ci-dessus. La version corrigée de votre code ressemblerait à ceci:Comme vous le voyez, le support est vide. Il n'est pas nécessaire de dire la taille entre les crochets, car l'initialisation et sa taille sont spécifiées par le nombre d'éléments entre les crochets.
la source
vous essayez de définir le 10e élément du tableau sur le tableau essayer
FTFY
la source
Peut-être que cela fonctionnera:
la source