Ich versuche, Ganzzahlen in ein Int-Array einzufügen, aber Eclipse sagt:
add (int) kann nicht für den Array-Typ int [] aufgerufen werden
Was für mich völlig unlogisch ist. Ich habe auch addElement()
und addInt()
ausprobiert, aber sie funktionieren auch nicht.
public static void main(String[] args) {
int[] num = new int[args.length];
for (String s : args){
int neki = Integer.parseInt(s);
num.add(neki);
}
Um einem Array ein Element hinzuzufügen, müssen Sie das Format verwenden:
array[index] = element;
Wenn array
das von Ihnen deklarierte Array ist, ist index
die Position, an der das Element gespeichert wird, und element
das Element, das Sie im Array speichern möchten.
In Ihrem Code möchten Sie Folgendes tun:
int[] num = new int[args.length];
for (int i = 0; i < args.length; i++) {
int neki = Integer.parseInt(args[i]);
num[i] = neki;
}
Die add()
-Methode steht für Collections
wie List
und Set
zur Verfügung. Sie können es verwenden, wenn Sie eine ArrayList
verwenden (siehe documentation ), zum Beispiel:
List<Integer> num = new ArrayList<>();
for (String s : args) {
int neki = Integer.parseInt(s);
num.add(neki);
}
Ein Array hat keine Add-Methode. Mit num[i]=value;
weisen Sie einem Element des Arrays einen Wert zu.
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;
}
}
Ein Array hat eine feste Länge. Sie können es nicht "hinzufügen". Sie legen am Anfang fest, wie lange es dauern wird.
int[] num = new int[5];
Dadurch wird ein Array von Ganzzahlen mit 5 "Buckets" erstellt. Jeder Bucket enthält eine ganze Zahl. Zu Beginn werden alle 0
sein.
num[0] = 1;
num[1] = 2;
Die zwei Zeilen darüber setzen den ersten und den zweiten Wert des Arrays auf 1
und 2
. Nun sieht dein Array so aus:
[1,2,0,0,0]
Wie Sie sehen können, legen Sie Werte fest und fügen sie nicht am Ende hinzu.
Wenn Sie eine Liste von Nummern erstellen möchten, die Sie hinzufügen, sollten Sie ArrayList verwenden.
Sie können die Add-Methode nicht für ein Array in Java verwenden.
So fügen Sie dem Array Dinge hinzu
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;
}
Wenn Sie wirklich eine add () - Methode verwenden möchten, sollten Sie stattdessen einen ArrayList<Integer>
verwenden. Dies hat mehrere Vorteile - zum Beispiel ist es nicht auf eine bei der Erstellung festgelegte maximale Größe beschränkt. Sie können auf unbestimmte Zeit Elemente hinzufügen. Es ist jedoch nicht ganz so schnell wie ein Array, wenn Sie also wirklich Wert auf Performance legen wollen. Außerdem müssen Sie das Integer-Objekt anstelle der primitiven Int-Typen verwenden, was Probleme verursachen kann.
ArrayList-Beispiel
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);
}
Arrays unterscheiden sich von ArrayList
s, auf denen Sie add
aufrufen können. Sie benötigen zuerst einen Index. Deklarieren Sie i
vor der for
-Schleife. Dann können Sie einen Array-Zugriffsausdruck verwenden, um das Element dem Array zuzuweisen.
num[i] = s;
i++;
sie haben ein Array von int
, das ein primitiver Typ ist, der primitive Typ hat keine Methode add. Sie sollten nach Collections
suchen.