Hallo, ich habe ein kleines Problem mit Schleifen. In der Aufgabenstellung geht es darum, dass Polizisten Straftäter in einem Gefängnis suchen sollen. Zuvor wurden die Polizisten und Straftäter per Zufall im Gefängnis verteilt (keine Zelle ist doppelt besetzt).
Ich weiß, dass man das nachfolgende Problem mit Arrays einfacher und schneller Lösen kann. Es wird aber empfohlen, die Aufgabe aus Übungszwecken mit Schleifen zu bearbeiten.
Meine Überlegung war also nun folgende:
Jetzt läuft aber nur ein Polizist zu einem Gefangenen, danach passiert nichts mehr.
Wenn ich die breaks weglasse, dann laufen alle Polizisten zu einem Gefangenen.
Ich weiß, dass ich den Schleifendurchlauf irgendwie ändern muss, komme aber einfach nicht drauf.
Wäre sehr nett, wenn mir jemand etwas auf die Sprünge helfen könnte.
Ich weiß, dass man das nachfolgende Problem mit Arrays einfacher und schneller Lösen kann. Es wird aber empfohlen, die Aufgabe aus Übungszwecken mit Schleifen zu bearbeiten.
Meine Überlegung war also nun folgende:
Java:
double rows3 = 0;
double columns3 = 0;
int i = 0;
int j = 0;
for (int r = 0; r < x; r++) {
for (i = 0; i < (2 * x); i++) {
rows3 = prison.getActor(i).getRow();
System.out.println(rows3);
columns3 = prison.getActor(i).getCol();
System.out.println(columns3);
if (prison.getActor(i).getType() == Actor.Type.CRIMINAL) {
break;
}
}
for (j = 0; j < (2 * x); j++) {
if (prison.getActor(j).getType() == Actor.Type.POLICE) {
prison.getActor(j).moveTo((int) rows3, (int) columns3);
System.out.println(prison.getActor(j).getType());
break;
}
}
}
Jetzt läuft aber nur ein Polizist zu einem Gefangenen, danach passiert nichts mehr.
Wenn ich die breaks weglasse, dann laufen alle Polizisten zu einem Gefangenen.
Ich weiß, dass ich den Schleifendurchlauf irgendwie ändern muss, komme aber einfach nicht drauf.
Wäre sehr nett, wenn mir jemand etwas auf die Sprünge helfen könnte.