Wie verschiebe ich die Positionen aller Elemente im Array um 1 und schmeiße die erste Position raus?
Wie entnehme ich den Wert der ersten Position meines Arrays und rücke für alle andere Werte eine Position auf?
Mein Problem ist, dass dieser nicht nachrückt und die Werte beim wiederholten Aufrufen (Zeile 18-20 (der "Aufrufer") für Zeile 23-30) gleich bleiben. Die Konsole gibt für alle Geschenke das selbe Gewicht an (hier: 1kg).
Code (übersichtlich): https://pastebin.com/FDqkmH9h
private Rentier[] rentiere;
private Geschenk[] geschenke;
Schlitten(Geschenk[] geschenke, Rentier[] rentiere) {
this.geschenke = new Geschenk[geschenke.length];
for (int i = 0; i < geschenke.length; i++) {
this.geschenke[i] = new Geschenk();
}
this.rentiere = new Rentier[rentiere.length];
for (int i = 0; i < rentiere.length; i++) {
this.rentiere[i] = new Rentier();
}
System.out.println("Die Tour beginnt:");
for (int i = 0; i < geschenke.length; i++) {
System.out.println("Der Weihnachtsmann liefert aus: " + getNaechstesGeschenk().getString());
}
}
public Geschenk getNaechstesGeschenk() {
Geschenk[] ausgabe = new Geschenk[1];
ausgabe[0] = geschenke[0];
for (int i = 0; i < geschenke.length - 1; i++) {
geschenke[i] = geschenke[i + 1];
}
return ausgabe[0];
}