public class Aplicacion { private static Arbol Arbol1 = new Arbol(); public static void main(String args[]) { System.out.println("¿Que quiera hacer?"); System.out.println("1 = Cargar Correspondencias \n2 = Mostar destinatario y nro de casa de las correspondencias"); int eleccion = In.readInt(); int bandera = 0; while(bandera == 0){ switch(eleccion){ case 1: carga(); bandera = 1; break; case 2: mostrarDestYNroCasa(); bandera = 1; break; default: System.out.println("Eleccion invalida, intente de vuelta"); break; } } Arbol1.toString(); } private static void carga() { System.out.println("-- COMENZAREMOS CON LA CARGA DE LA CORRESPONDENCIA --"); cargarArbol(); int bandera = 0; while(bandera == 0){ System.out.println("¿Desea cargar otra correspondencia?"); System.out.println("1 = Si, 2 = No"); int pregunta = In.readInt(); switch(pregunta){ case 1: cargarArbol(); break; case 2: System.out.println("-- FIN DE LA CARGA --"); bandera = 1; break; default : System.out.println("-- Respuesta invalida, intente de vuelta --"); break; } } } private static void cargarArbol() { int tipo = 0; int bandera = 0; while(bandera == 0){ System.out.println("¿Que tipo de correspondencia va a cargar?"); System.out.println("1 = Certificada; 2 = Encomienda, 3 = Simple"); tipo = In.readInt(); if(tipo == 1 || tipo == 2 || tipo == 3){ bandera = 1; } else{ System.out.println("-- Tipo de encomienda Invalido, intente de vuelta --"); } } System.out.println("¿Cual es el nombre del destinatario?"); String destinatario = In.readLine(); System.out.println("¿Cual es el peso de la correspondencia?"); float peso = In.readFloat(); System.out.println("¿Cual es el numero de casa?"); int nroCasa = In.readInt(); switch(tipo){ case 1: { System.out.println("-- Creando Correspondencia Certficiada --"); bandera = 0; int prioridad = 0; while(bandera == 0){ System.out.println("¿Cual es la proridad de la correspondencia?"); prioridad = In.readInt(); if(prioridad > 0 && prioridad < 11){ bandera = 1; } else{ System.out.println("-- Prioridad invalida, intente de vuelta --"); } } System.out.println("¿Cual es el peso del sobre?"); float pesoSobre = In.readFloat(); Correspondencia Correspondencia1 = new Certificada(destinatario, peso, nroCasa, prioridad, pesoSobre); Arbol1.insertar(Correspondencia1); System.out.println("-- Correspondencia Certficiada Creada --"); } break; case 2: { System.out.println("-- Creando Encomienda --"); bandera = 0; int tipoCaja = 0; while(bandera == 0){ System.out.println("¿Cual es el tipo de caja para la correspondencia?"); System.out.println("1 = Pequeña; 2 = Mediana; 3 = Grande"); tipoCaja = In.readInt(); if(tipoCaja == 1 || tipoCaja == 2 || tipoCaja == 3){ bandera = 1; } else{ System.out.println("-- Tipo de caja invalida, intente de vuelta --"); } } Correspondencia Correspondencia1 = new Encomienda(destinatario, peso, nroCasa, tipoCaja); Arbol1.insertar(Correspondencia1); System.out.println("-- Encomienda Creada --"); } break; case 3: { System.out.println("-- Creando Correspondencia Simple --"); Correspondencia Correspondencia1 = new Simple(destinatario, peso, nroCasa); Arbol1.insertar(Correspondencia1); System.out.println("-- Correspondencia Simple Creada --"); } } } private static void mostrarDestYNroCasa(){ System.out.println("¿De que forma quiere recorrer el arbol para mostrar la informacion?"); System.out.println("¿1 = PreOrden; 2 = PostOrden; 3 = Orden Central?"); int recorrido = In.readInt(); int bandera = 0; while (bandera == 0) { if(recorrido == 1 || recorrido == 2 || recorrido == 3){ Arbol1.mostrarVisita(recorrido); bandera = 1; } else { System.out.println("Tipo de recorrido invalido, intente de vuelta"); } } } private static void mostrarSumaTotal(){ Arbol1.sumarPeso(); } }