Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Hanoi;
- public class Principal {
- /**
- * @param args
- * @throws Exception
- */
- public static void main(String[] args) throws Exception {
- try {
- int numeroDiscos = 4;
- Palo palo1 = new Palo("Izquierda");
- Palo palo2 = new Palo("Centro");
- Palo palo3 = new Palo("Derecha");
- for (int i = numeroDiscos; i > 0; i--)
- palo1.AñadirDisco(new Disco(i));
- imprimirEstado(palo1, palo2, palo3);
- algoritmoHanoi(numeroDiscos, palo1, palo2, palo3);
- } catch (ArrayIndexOutOfBoundsException e) {
- System.out.println("Ha ocurrido un error: Faltan datos.");
- } catch (NumberFormatException e) {
- System.out
- .println("Ha ocurrido un error: El formato del dato introducido no es válido.");
- }
- }
- public static void algoritmoHanoi(int numeroDiscos, Palo palo1, Palo palo2,
- Palo palo3) throws Exception {
- if (numeroDiscos == 1) {
- palo1.moverDisco(palo3);
- imprimirEstado(palo1, palo2, palo3);
- } else {
- algoritmoHanoi(numeroDiscos - 1, palo1, palo3, palo2);
- palo1.moverDisco(palo3);
- imprimirEstado(palo1, palo2, palo3);
- algoritmoHanoi(numeroDiscos - 1, palo2, palo1, palo3);
- }
- }
- private static void imprimirEstado(Palo a, Palo b, Palo c) {
- System.out.println("Estado actual:");
- System.out.println(a.toString() + b.toString() + c.toString());
- System.out.println();
- }
- }
Add Comment
Please, Sign In to add comment