Guest User

Untitled

a guest
Jan 19th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.35 KB | None | 0 0
  1. package Hanoi;
  2.  
  3. public class Principal {
  4.  
  5.     /**
  6.      * @param args
  7.      * @throws Exception
  8.      */
  9.     public static void main(String[] args) throws Exception {
  10.  
  11.         try {
  12.  
  13.             int numeroDiscos = 4;
  14.  
  15.             Palo palo1 = new Palo("Izquierda");
  16.             Palo palo2 = new Palo("Centro");
  17.             Palo palo3 = new Palo("Derecha");
  18.  
  19.             for (int i = numeroDiscos; i > 0; i--)
  20.                 palo1.AñadirDisco(new Disco(i));
  21.  
  22.             imprimirEstado(palo1, palo2, palo3);
  23.             algoritmoHanoi(numeroDiscos, palo1, palo2, palo3);
  24.         } catch (ArrayIndexOutOfBoundsException e) {
  25.             System.out.println("Ha ocurrido un error: Faltan datos.");
  26.         } catch (NumberFormatException e) {
  27.             System.out
  28.                     .println("Ha ocurrido un error: El formato del dato introducido no es válido.");
  29.         }
  30.     }
  31.  
  32.     public static void algoritmoHanoi(int numeroDiscos, Palo palo1, Palo palo2,
  33.             Palo palo3) throws Exception {
  34.  
  35.         if (numeroDiscos == 1) {
  36.             palo1.moverDisco(palo3);
  37.             imprimirEstado(palo1, palo2, palo3);
  38.         } else {
  39.             algoritmoHanoi(numeroDiscos - 1, palo1, palo3, palo2);
  40.             palo1.moverDisco(palo3);
  41.             imprimirEstado(palo1, palo2, palo3);
  42.             algoritmoHanoi(numeroDiscos - 1, palo2, palo1, palo3);
  43.         }
  44.     }
  45.  
  46.     private static void imprimirEstado(Palo a, Palo b, Palo c) {
  47.         System.out.println("Estado actual:");
  48.         System.out.println(a.toString() + b.toString() + c.toString());
  49.         System.out.println();
  50.     }
  51. }
Add Comment
Please, Sign In to add comment