Hallo,
ich versuche mich seit kurzem in Java und komme auch einigermaßen gut voran. Momentan beiße ich mir allerdings die Zähne an folgendem Problem aus:
In einer for-Scheife soll eine Methode mehrmals nacheinander ausgeführt werden. Diese Liefert ein Ergebnis zurück, dass ich anschließend (noch innerhalb der Schleife) weiterverarbeite.
Das Problem: Die Methode wir nur beim ersten mal ausgeführt. D.h. bei jedem weiteren Schleifendurchlauf scheint dieser Programmteil übersprungen zu werden. Scheinbar meint Java, es genügt die Methode einmal auszuführen, obwohl ich das zugehörige Objekt vorher extra neu Instanziert habe.
Den Code habe ich der Übersicht halber etwas gekürzt:
Die Aufgerufene Methode (andere Klasse als start oben):
Das kuriose ist die Ausgabe:
Wie man sieht ist davon auszugehen, dass die Methode r_start lediglich beim ersten Durchgang ausgeführt wurde. Jedenfalls erscheint ihr Text nur ein mal und danach habe ich 1000000x das selbe Ergebniss, obwohl jedesmal ein anderes herauskommen müsste. Er behält einfach das erste Ergebniss und meint wohl dass müsse jetzt immer so sein.
Habe schon alles mögliche versucht, aber nichts hat geholfen. Jedesmal ergibt sich der selbe Effekt. Das kann doch irgendwie nicht sein!? ???:L
Wär schön wenn mir jemand dabei helfen könnte.
ich versuche mich seit kurzem in Java und komme auch einigermaßen gut voran. Momentan beiße ich mir allerdings die Zähne an folgendem Problem aus:
In einer for-Scheife soll eine Methode mehrmals nacheinander ausgeführt werden. Diese Liefert ein Ergebnis zurück, dass ich anschließend (noch innerhalb der Schleife) weiterverarbeite.
Das Problem: Die Methode wir nur beim ersten mal ausgeführt. D.h. bei jedem weiteren Schleifendurchlauf scheint dieser Programmteil übersprungen zu werden. Scheinbar meint Java, es genügt die Methode einmal auszuführen, obwohl ich das zugehörige Objekt vorher extra neu Instanziert habe.
Den Code habe ich der Übersicht halber etwas gekürzt:
Code:
public void start(int wieoft) {
for (int i = 0; i < wieoft; i++) {
// Objekte neu Anlegen
Runde runde = new Runde();
Reiter dummy = new Reiter();
// Kontrolle
System.out.println(":: Runde: " + i);
dummy = runde.r_start(Liste);
// Kontrolle
System.out.println(":: gelaufen, Auswertung:");
System.out.println("Ergebnis ist " + dummy.toString());
}
Die Aufgerufene Methode (andere Klasse als start oben):
Code:
public Reiter r_start (LinkedList Liste) {
System.out.println("-->Hier passiert was mit der Liste...");
return ergebnis;
}
:: Runde: 0
-->Hier passiert was mit der Liste...
:: gelaufen, Auswertung:
Ergebnis ist 3
:: Runde: 1
:: gelaufen, Auswertung:
Ergebnis ist 3
:: Runde: 2
:: gelaufen, Auswertung:
Ergebnis ist 3
:: Runde: 3
:: gelaufen, Auswertung:
Ergebnis ist 3
.
.
.
Wie man sieht ist davon auszugehen, dass die Methode r_start lediglich beim ersten Durchgang ausgeführt wurde. Jedenfalls erscheint ihr Text nur ein mal und danach habe ich 1000000x das selbe Ergebniss, obwohl jedesmal ein anderes herauskommen müsste. Er behält einfach das erste Ergebniss und meint wohl dass müsse jetzt immer so sein.
Habe schon alles mögliche versucht, aber nichts hat geholfen. Jedesmal ergibt sich der selbe Effekt. Das kann doch irgendwie nicht sein!? ???:L
Wär schön wenn mir jemand dabei helfen könnte.