Hallo ich habe ein Problem bei dem berühmten Hanoi Rätsel.
Ich habe 3 Stacks und frage den Benutzer mit wie vielen Scheiben er spielen will. Dann wird der erste Stack mit dieser Anzahl an Scheiben gefüllt. Bis hier hin hab ich keine Probleme, aber jetzt kommt der Algorithmus, den ich rekursiv lösen muss. Meine Methode sieht so aus:
Das Problem ist, dass das Programm bis n=1 runtergeht und dann abbricht und in den Catch springt. Wie kann ich dieses Problem lösen? Wie mache ich es, dass das Programm den gesamten Algorithmus "macht" und wo ist mein Fehler?
Vielen Dank für eure Hilfe.
MFG Rupertbayern
Ich habe 3 Stacks und frage den Benutzer mit wie vielen Scheiben er spielen will. Dann wird der erste Stack mit dieser Anzahl an Scheiben gefüllt. Bis hier hin hab ich keine Probleme, aber jetzt kommt der Algorithmus, den ich rekursiv lösen muss. Meine Methode sieht so aus:
Java:
static void SolveHanoi(int n, HanoiStack frompole, HanoiStack topole, HanoiStack withpole) {
if (n >= 1) {
SolveHanoi(n - 1, frompole, withpole, topole);
HanoiDisk tmp = frompole.pop();
topole.push(tmp);
SolveHanoi(n - 1, withpole, topole, frompole);
}
Das Problem ist, dass das Programm bis n=1 runtergeht und dann abbricht und in den Catch springt. Wie kann ich dieses Problem lösen? Wie mache ich es, dass das Programm den gesamten Algorithmus "macht" und wo ist mein Fehler?
Vielen Dank für eure Hilfe.
MFG Rupertbayern