Pequeño algoritmo que resuelve el juego de las Torres de Hanoi con N discos. No tiene interfaz gráfica, todo lo hace desde la consola.
package hanoi; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; /** * * @author tauron */ public class Hanoi { public enum palo {izquierdo,central,derecho}; public static void Mover(int n,palo origen, palo auxiliar,palo destino) { if(n == 1) { System.out.println("Mueve el disco " + n + " desde el palo " + origen + " al " + destino); } else { Mover(n-1,origen,destino,auxiliar); System.out.println("Mueve el disco " + n + " desde el palo " + origen + " al " + destino); Mover(n-1,auxiliar,origen,destino); } } public static void main(String[] args) { BufferedReader dataIn = new BufferedReader(new InputStreamReader( System.in)); int numDiscos; String discos = ""; System.out.print("Introduce el número de discos: "); try{ discos = dataIn.readLine(); }catch(IOException e){ System.out.println("¡Error!"); } numDiscos = Integer.valueOf(discos); while (numDiscos < 1) { System.out.println("Vaya chorrada de número has metido. ERROR."); System.out.print("Inserta el número de discos: "); try{ discos = dataIn.readLine(); }catch(IOException e){ System.out.println("¡Error!"); } numDiscos = Integer.valueOf(discos); } // Fin del while Mover(numDiscos,palo.izquierdo,palo.central,palo.derecho); } }