2017-02-20 5 views
0

So habe ich diese Methode, in der ich versuche, ElementErray.length "theElement" hinzuzufügen, so dass die Größe des ElementsArray 6 ist, und nicht 5. Also habe ich es versucht .. .So fügen Sie ein Element und Int in Java

public boolean addingElement(E theElement) { 
E [] elementArray = new elementArray[5]; 
    if (elementArray.length != 0) { 
     elementArray[ //add theElement and 5 here ]; 
     System.out.println(elementArray.length); 
    } 
return true; 
} 

ich habe versucht, das Element + elementArray.length aber ich merke, das zu tun, wegen des Ungleichgewichts nicht funktioniert. Was soll ich stattdessen tun?

+0

Wenn Sie Ihr Array ändern möchten, sollten Sie 'Arrays.copyOf (original, newlength)' –

+0

Können Sie ein Beispiel eines Elements geben und was zu dem Array passieren sollte als ein Ergebnis dessen, was Sie wollen? –

+0

Das Element ist eine Zufallszahl, aber ich möchte die "Größe des Elements" zur Größe meines * neu zugewiesenen Arrays nach der Verwendung von Arrays hinzufügen.copyOf (original, newLength) – EyeOfTheOwl

Antwort

1

In Java werden Arrays beim Erstellen in der Größe fixiert. Sie können also einem Array mit fünf Elementen kein 6. Element hinzufügen.

Sie müssen die Elemente in ein neues Array kopieren. Entweder verwenden Arrays.copyOf, oder:

oldArray; //contains 5 objects, say ints 

int [] newArray = new int[oldArray.length*2]; //double the size of oldArray 

for (int i = 0; i < oldArray.length; i++) { 
    newArray[i] = oldArray[i]; 
    } 
+0

Richtig, total vergessen, Arrays sind eine feste Größe! Okay, nachdem ich das gemacht habe, wie genau würde ich das Element und die Größe des Arrays hinzufügen, um 6 zu machen? – EyeOfTheOwl

+0

@EyeOfTheOwl einfach das Element nach dem Code von David hinzufügen, wie dies 'newArray [oldArray.length] = theElement;' – Rafael

Verwandte Themen