Heho Zusammen,
Ich hab ein 10 mal 10 großes Feld. Ich möchte nun die "Weglänge" die man von einen Feld zum anderen brauch. Ich hab mir schon eine Methode geschrieben.
Das Problem ist nun aber wenn die Zeilen oder die Spalten am anfang schon geich sind überspringt er mir die ganze while-Schleife. Meine Vermutung ist das die Whlie-Scheife das UND nich beachtet wenn einer der Werte gleich ist.
Bitte um Hilfe.
Ich hab ein 10 mal 10 großes Feld. Ich möchte nun die "Weglänge" die man von einen Feld zum anderen brauch. Ich hab mir schon eine Methode geschrieben.
Java:
public int wegBerechnung(int altePosi, int neuePosi) {
spalteAlt = altePosi % 10; //Die Spalte wird berechnet
spalteNeu = neuePosi % 10;
System.out.println("SpalteAlt: "+spalteAlt+" \nSpalteNeu: "+spalteNeu);
zeileAlt = altePosi / 10; //Die Zeile wird berechnet
zeileNeu = neuePosi / 10;
System.out.println("ZeileAlt: "+zeileAlt+"\nZeileNeu: "+zeileNeu);
while ((spalteAlt != spalteNeu) && (zeileAlt != zeileNeu)) {
if (zeileNeu < zeileAlt) {
zeileAlt = zeileAlt - 10;
schrittzahl++;
System.out.println("Zeile Neu ist kleiner als Zeile Alt");
} else {
if (zeileNeu > zeileAlt) {
zeileAlt = zeileAlt + 10;
schrittzahl++;
System.out.println("Zeile Neu ist größer als Zeile Alt");
}
}
if (spalteNeu < spalteAlt) {
spalteAlt--;
schrittzahl++;
System.out.println("Spalte Neu ist kleiner als Spalte Alt");
}
if (spalteNeu > spalteAlt) {
spalteAlt++;
schrittzahl++;
System.out.println("Spalte Alt ist größer als Spalte Neu");
}
}
return schrittzahl;
}
Das Problem ist nun aber wenn die Zeilen oder die Spalten am anfang schon geich sind überspringt er mir die ganze while-Schleife. Meine Vermutung ist das die Whlie-Scheife das UND nich beachtet wenn einer der Werte gleich ist.
Bitte um Hilfe.