wake-up-neo.com

Hinzufügen von Ganzzahlen zu einem int-Array

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);

}
13
Rok Dolinar

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);
}
15
Anderson Vieira

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;
    }
}
5
Eran

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.

3
George

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);
}
2
Davis Broda

Arrays unterscheiden sich von ArrayLists, 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++;
1
rgettman

sie haben ein Array von int, das ein primitiver Typ ist, der primitive Typ hat keine Methode add. Sie sollten nach Collections suchen.

0
Rafael Reis