Hier eine graphisch animierte Variante der Türme von Hanoi. Öffnen Sie die Datei (ab Web-Code) mit Ihrer Java-Entwicklungsumgebung (z. B. BlueJ) oder durch einfaches Auspacken mit dem jar -Befehl. Sie finden darin die Quelltextdatei. Wenn Sie das Programm starten, werden Sie nach der Scheibenzahl gefragt. Auf dem Display sehen Sie einen Turm mit der entsprechenden Anzahl Scheiben. Ihre Aufgabe ist es nun, den Turm vom linken Sockel auf den mittleren Sockel zu verschieben. Dabei gelten folgende Regeln: Es kann nur eine Scheibe auf einmal verschoben werden. Es darf keine Scheibe auf eine kleinere Scheibe gelegt werden. Durch den Aufruf super(x, y, width, height) wird die Anzahl Scheiben eingelesen und der Turm dargestellt. Fortgeschrittene Themen: Die Türme von Hanoi. Die Anzahl Scheiben ist in der Variablen n gespeichert, die Sie jederzeit auslesen können. Um eine Scheibe zu verschieben, benutzen Sie die Methode verschieben(int von, int nach). Dabei sind von und nach ganze Zahlen im Bereich von 1 bis 3. Dateien: 0 Kommentare 1 Lösung(en) java class HanoiLoesung extends HanoiGraphik { static final private int x = 0, y = 0, width = 800, height = 500; HanoiLoesung() { super(x, y, width, height); verschiebe(n, 1, 2, 3);} void verschiebe(int n, int von, int nach, int via) { if (n == 1) verschiebe(von, nach); else { verschiebe(n - 1, von, via, nach); verschiebe(1, von, nach, via); verschiebe(n - 1, via, nach, von);}} public static void main(String[] args) { new HanoiLoesung();}} Verifikation/Checksumme: Am Ende steht der Turm in der Mitte.
Ich erwarte, dass Sie werden sagen: kommentieren Sie einfach die println-Anweisung in moveOneDisk(). Informationsquelle Autor salxander | 2012-04-26
Verschieben Sie schließlich die n- te Festplatte von "from" (Quellenturm) nach "to" (Zielturm). Bei dieser Strategie wird der 3. Bergervei/Java-Turm-von-Hanoi – ProgrammingWiki. Schritt nach dem 2. Schritt (Verschieben aller n-1- Platten von "anderen" nach "zu") ungültig (Verschieben der n- ten Platte von "von" nach "nach")! Denn im Tower of Hanoy man keine größere Scheibe auf eine kleinere legen! Wenn Sie also die zweite Option (Strategie) wählen, führt dies zu einer ungültigen Strategie, weshalb Sie das nicht tun können!
Ich muss auch eine Zähleranzeige implementieren, wie oft es gedauert hat, bis das Spiel läuft, bis das Spiel in meinem beendet ist TowersOfHanoi Klasse. Grundsätzlich brauche ich das Linie ("It took" + counter + "turns to finish. "); Ich weiß nicht, wie ich den Counter korrekt implementieren kann TowersOfHanoi. Java - Türme Von Hanoi In Java Rekursion. Das TowersOfHanoi Klasse läuft gut von selbst, aber die Anforderung für die Hausaufgaben ist, dass wir mindestens 2 Klassen min brauchen. Hilfe wäre sehr dankbar!!! Ich bin ein Neuling in Java und programmiere generell bitte nicht zu weit fortgeschritten Antworten: 1 für die Antwort № 1 In der TowersOfHanoi-Klasse benötigen Sie keine Hauptfunktion. Ersetzen Sie stattdessen Ihre TowersRunner-Hauptmethode (String args []) durch (num_of_discs, "A", "B", "C");} 0 für die Antwort № 2 Sie können den Zähler einfach in der Funktion übergeben und inkrementieren lassen. Zum Beispiel: public static void solve(int first_disc, char aTower, char bTower, char cTower, int counter) { ("Currently on turn #" + counter); solve(first_disc - 1, aTower, cTower, bTower, counter + 1); solve(first_disc - 1, bTower, aTower, cTower, counter + 1);}} Beim ersten Anruf von solve, würden Sie in 1 gehen solve rekursiv aufgerufen wird, wird der Zähler inkrementiert.
Sie müssen dies anpassen, um den Endwert von counter zurückzugeben. :) Wenn Sie nur den Endwert benötigen, müssen Sie keinen Parameter hinzufügen. Lassen Sie einfach die Funktion zurückkehren int Anstatt von void Versuchen Sie dann herauszufinden, wie Sie den gewünschten Wert zurückgeben.
Wie Sie sehen können, erfordert die Lösung sieben Züge: Verschieben Sie Disk 1 von Peg 1 auf Peg 3. Verschieben Sie Disk 2 von Peg 1 auf Peg 2. Verschieben Sie Disk 1 von Peg 3 auf Peg 2. Verschieben Sie Disk 3 von Peg 1 auf Peg 3. Verschieben Sie Disk 1 von Peg 2 zu Peg 1. Verschieben Sie Disk 2 von Peg 2 auf Peg 3. Verschieben Sie Disk 1 von Peg 1 auf Peg 3. Nach diesen sieben Schritten befindet sich der Festplattenstapel auf Peg 3. Die Lösung für das Puzzle Towers of Hanoi mit drei Scheiben. Das Puzzle wird interessant, wenn Sie anfangen, der Startposition Festplatten hinzuzufügen. Mit drei Scheiben benötigt das Rätsel nur 7 Züge, um es zu lösen. Bei vier Festplatten sind 15 Züge erforderlich. Mit fünf Festplatten benötigen Sie 31 Züge. Sechs Festplatten erfordern 64 Züge. Türme von hanoi java interview. Wenn Sie die Mathematik befolgt haben, steigt die Anzahl der zum Lösen des Puzzles erforderlichen Züge mit zunehmender Anzahl der Festplatten exponentiell an. Insbesondere die Anzahl der Bewegungen, die zum Bewegen erforderlich sind n Festplatten ist 2 n - 1.
Die Schritte sollten auch fortlaufend nummeriert sein. Sobald der Vorgang abgeschlossen ist, sollte das Programm wiederholt werden und der Benutzer erneut nach der Anzahl der Festplatten gefragt werden. Das Programm sollte enden, wenn der Benutzer 0 eingibt. Hier ist ein Beispiel für die Konsolenausgabe, die Ihr Programm generieren sollte: Wie viele Festplatten? (0 bis Ende) 3 1: 1 bis 3 2: 1 bis 2 3: 3 bis 2 4: 1 bis 3 5: 2 bis 1 6: 2 bis 3 7: 1 bis 3 Wie viele Festplatten? (0 bis Ende) 0 Die einzige andere Voraussetzung für die Lösung dieser Herausforderung ist, dass Ihre Lösung rekursive Programmierung verwenden muss. Türme von hanoi java pattern. Mit anderen Worten, Ihre Lösung muss eine Methode enthalten, die sich selbst aufruft, um das Rätsel zu lösen. Rekursives Programmieren kann eine Herausforderung sein. Hier einige Hinweise zur Lösung dieses Rätsels: Das Puzzle besteht aus drei Stiften. Eine davon enthält den Startstapel der Festplatten. Nennen Sie diesen Stift das Quellstift. Einer der verbleibenden zwei Stifte ist der Stift, auf den Sie den Plattenstapel verschieben möchten.
s[... ] Steht das in zeitlichem Zusammenhang mit dem Problem? Hat der Elekriker anschließend die Steckdosen mit einem Duspol kontrolliert? Ein Arbeitskollege hatte eine Steckdose neben der Telefonanschlussdose. Das Schnurlostelefon funktionierte tadellos mit dieser Steckdose, eine Fritzbox löste immer den FI aus. Es stellte sich heraus, das in dieser Steckdose N und PE vertauscht waren. Ein kleiner Verbraucher mit <5 Watt (230V, 20 mA) kann an so einer Steckdose "funktionieren". Andere Schaltvorgänge lasen dann "das Fass überlaufen". Das würde auch erklären, dass es an anderen Phasen (z. Keller) nie Probleme gibt. Gruß lukashen 22. 2016 17:06:10 2385783 Das Fehlerbild ist symptomatisch für einen Nulleitererdschluss, alles funktioniert so lange bis mittels eines stärkeren Verbrauchers das Spannungsniveau des Nulleiters angehoben wird und dann wird der Erdschluss zwischen MP und Erde wirksam. Einschalter der Außenbeleuchtung führt zu rausfliegen des FI. 03. 07. 2016 00:24:18 2388508 @Hannes/esbg: Ich versteh jetzt nicht so ganz, was du meinst:-) Denke aber, das du recht haben könntest.
Besten Dank im Voraus und einen schönen Abend euch allen noch 01. 05. 2017 411 40 andi2206 Spannungstauglich 15. 01. 2012 973 32 Hallo Wenn der FI erst nach einigen Sekunden fliegt, hast du einen Feuchtfehler irgendwo in den Lampen, der Verkabelung oder falls vorhanden in Klemmdosen. Viel Spaß beim Suchen. Am besten hinten anfangen und nach und nach alles einzeln abklemmen. Bleibt der FI drin hast du den Fehler gefunden. Funktioniert allerdings nicht im Hochsommer, wenn alles trocken ist. Evtl auch Ameisen in der Lampe. Gartenbeleuchtung fi schalter fliegt raus youtube. Hallo nochmal, Danke für eure Antworten. Ich habe da leider etwas gebraucht alles zu überprüfen, auch weil es zwischendrin ja auch nicht das Beste Wetter war und das Ganze im Regen zu machen ist ein wenig sinnfrei. Die Lampen hatte ich einzeln überprüft aber darin keine Fehler gefunden, der FI flog trotzdem immer raus. Danach waren die Kabel dran und der Fehler liegt wohl bei den zwei hinteren Lampen. Diese sind jetzt abgeklemmt und die vorderen Lampen funktionieren damit zumindest wieder.