Code:
public class Test1 {
static int zug;
static void Tow (String Quelle, String Hilf1, String Hilf2, String Ziel, int n) {
if (n ==1)
System.out.println ("Bewege Scheibe " +n+ " von " + Quelle + " nach " + Ziel);
else {
Tow (Quelle, Ziel, Hilf1, Hilf2, n-1);
System.out.println ("Bewege Scheibe " +n+ " von " + Quelle + " nach " + Ziel);
Tow (Hilf1, Hilf2, Quelle, Ziel, n-1);
zug=zug+1;
}
}
public static void main (String args []) {
System.out.println ("Tuerme von Hanoi; 4 Türme 4 Scheiben");
System.out.println ("");
Tow ("Quelle", "Hilfsziel1", "Hilfsziel2","Ziel", 4);
System.out.println();
System.out.println();
System.out.println("Das waren " + zug + " Zuege");
}
}
Ausgabe:
Code:
Tuerme von Hanoi; 4 Türme 4 Scheiben
Bewege Scheibe 1 von Quelle nach Ziel
Bewege Scheibe 2 von Quelle nach Hilfsziel1
Bewege Scheibe 1 von Hilfsziel2 nach Hilfsziel1
Bewege Scheibe 3 von Quelle nach Hilfsziel2
Bewege Scheibe 1 von Ziel nach Quelle
Bewege Scheibe 2 von Ziel nach Hilfsziel2
Bewege Scheibe 1 von Hilfsziel1 nach Hilfsziel2
Bewege Scheibe 4 von Quelle nach Ziel
Bewege Scheibe 1 von Hilfsziel1 nach Hilfsziel2
Bewege Scheibe 2 von Hilfsziel1 nach Quelle
Bewege Scheibe 1 von Ziel nach Quelle
Bewege Scheibe 3 von Hilfsziel1 nach Ziel
Bewege Scheibe 1 von Hilfsziel2 nach Hilfsziel1
Bewege Scheibe 2 von Hilfsziel2 nach Ziel
Bewege Scheibe 1 von Quelle nach Ziel
Das waren 7 Zuege
Was ist an diesem Code falsch?