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();
}
}