Hallo und guten Abend werte Mitglieder,
habe eine Frage an euch, da mich google seit ungefähr
zwei Stunden echt hängen lässt, und ich einfach nicht weiterkomme.
Die Methode printArray soll die Werte des Arrays wie folgt darstellen:
[1, 2, 3]
Dies tut es auch beim ersten Durchlauf, beim zweiten jedoch nicht mehr,
nachdem die Methode resize aufgerufen wurde.
resize soll die Werte des Ausgangsarrays übernehmen und ein neues
mit doppelt so vielen Werten zurückgeben, welches dann wieder mittels
printArray gezeigt werden soll(im selben Aufbau wie oben).
Nur sieht es diesmal so aus:
[0, 0, 0, 4, 5, 6]
Es fehlen mir also die Zahlen aus dem Ursprungsarray.
Hier erstmal der Code und dann meine Vermutung, wo das Problem liegen könnte.
Ich vermute, dass in meiner Methode resize die alten Werte nicht eingelesen werden,
aber eigentlich sollten die ja der Methode mitgegegeben worden sein als diese aufgerufen worden ist.
Ich würde mich über einen Tipp oder einen Ansatz freuen.
Gruß und Danke
habe eine Frage an euch, da mich google seit ungefähr
zwei Stunden echt hängen lässt, und ich einfach nicht weiterkomme.
Die Methode printArray soll die Werte des Arrays wie folgt darstellen:
[1, 2, 3]
Dies tut es auch beim ersten Durchlauf, beim zweiten jedoch nicht mehr,
nachdem die Methode resize aufgerufen wurde.
resize soll die Werte des Ausgangsarrays übernehmen und ein neues
mit doppelt so vielen Werten zurückgeben, welches dann wieder mittels
printArray gezeigt werden soll(im selben Aufbau wie oben).
Nur sieht es diesmal so aus:
[0, 0, 0, 4, 5, 6]
Es fehlen mir also die Zahlen aus dem Ursprungsarray.
Hier erstmal der Code und dann meine Vermutung, wo das Problem liegen könnte.
Java:
public class Resize {
public static void main(String[] args) {
int[] array = {1, 2, 3};
printArray(array);
array = resize(array);
array[3] = 4;
array[4] = 5;
array[5] = 6;
printArray(array);
}
public static int[] resize(int[] a) {
a = new int[(a.length*2)];
return a;
}
public static void printArray(int[] a) {
Out.print("[");
for(int i=0; i < a.length; i++)
if (i + 1 > a.length - 1)
Out.print(a[i]);
else Out.print(a[i]+" ,");
Out.println("]");
}
}
Ich vermute, dass in meiner Methode resize die alten Werte nicht eingelesen werden,
aber eigentlich sollten die ja der Methode mitgegegeben worden sein als diese aufgerufen worden ist.
Ich würde mich über einen Tipp oder einen Ansatz freuen.
Gruß und Danke