J'essaie d'ajouter des entiers dans un tableau int, mais Eclipse dit:
ne peut pas appeler add (int) sur le type de tableau int []
Ce qui est complètement illogique pour moi. J'ai aussi essayé addElement()
et addInt()
, mais ils ne fonctionnent pas non plus.
public static void main(String[] args) {
int[] num = new int[args.length];
for (String s : args){
int neki = Integer.parseInt(s);
num.add(neki);
}
Pour ajouter un élément à un tableau, vous devez utiliser le format:
array[index] = element;
Où array
est le tableau que vous avez déclaré, index
est la position où l'élément sera stocké et element
est l'élément que vous souhaitez stocker dans le tableau.
Dans votre code, vous voudriez faire quelque chose comme ceci:
int[] num = new int[args.length];
for (int i = 0; i < args.length; i++) {
int neki = Integer.parseInt(args[i]);
num[i] = neki;
}
La méthode add()
est disponible pour Collections
comme List
et Set
. Vous pourriez l'utiliser si vous utilisiez une ArrayList
(voir la documentation ), par exemple
List<Integer> num = new ArrayList<>();
for (String s : args) {
int neki = Integer.parseInt(s);
num.add(neki);
}
Un tableau n'a pas de méthode add. Vous affectez une valeur à un élément du tableau avec num[i]=value;
.
public static void main(String[] args) {
int[] num = new int[args.length];
for (int i=0; i < num.length; i++){
int neki = Integer.parseInt(args[i]);
num[i]=neki;
}
}
Un tableau a une longueur fixe. Vous ne pouvez pas "ajouter" à cela. Vous définissez au début combien de temps cela durera.
int[] num = new int[5];
Cela crée un tableau d'entiers qui a 5 "compartiments". Chaque compartiment contient 1 entier. Pour commencer, tous seront 0
.
num[0] = 1;
num[1] = 2;
Les deux lignes ci-dessus définissent les première et seconde valeurs du tableau sur 1
et 2
. Maintenant, votre tableau ressemble à ceci:
[1,2,0,0,0]
Comme vous pouvez voir que vous y définissez des valeurs, vous ne les ajoutez pas à la fin.
Si vous voulez pouvoir créer une liste de nombres que vous ajoutez, vous devez utiliser ArrayList.
Vous ne pouvez pas utiliser la méthode add sur un tableau en Java.
Pour ajouter des choses au tableau, faites comme ça
public static void main(String[] args) {
int[] num = new int[args.length];
for (int i = 0; i < args.length; i++){
int neki = Integer.parseInt(s);
num[i] = neki;
}
Si vous voulez vraiment utiliser une méthode add (), envisagez d'utiliser plutôt un ArrayList<Integer>
. Cela présente plusieurs avantages - par exemple, il n'est pas limité à une taille maximale définie lors de la création. Vous pouvez continuer à ajouter des éléments indéfiniment. Cependant, il n’est pas aussi rapide qu’un tableau, alors si vous voulez vraiment que les performances restent avec le tableau. De plus, vous devez utiliser l'objet Integer au lieu de types primitifs int, ce qui peut poser problème.
Exemple de tableau
public static void main(String[] args) {
ArrayList<Integer> num = new ArrayList<Integer>();
for (String s : args){
Integer neki = new Integer(Integer.parseInt(s));
num.add(s);
}
Les tableaux sont différents de ArrayList
s, sur lesquels vous pouvez appeler add
. Vous aurez d'abord besoin d'un index. Déclarez i
avant la boucle for
. Ensuite, vous pouvez utiliser une expression d'accès au tableau pour affecter l'élément au tableau.
num[i] = s;
i++;
vous avez un tableau de int
qui est un type primitif, le type primitif n'a pas la méthode add. Vous devriez chercher Collections
.