All pastes #2050090 Raw Edit

Anonymous

public text v1 · immutable
#2050090 ·published 2011-04-24 13:47 UTC
rendered paste body
/**
 * Programación II. Semestre primavera 2011.
 * 
 * Práctica 3.
 * 
 * Programa principal de la aplicación de correo electrónico.
 * 
 * @version 1.0
 * @author Rodrigo Linares Hernandez
 */

import java.util.*;

public class AplicacionCorreo {
	
	private static Scanner teclado;
	static final int MAX = 20;
	/**
	 * @param args Argumentos del programa.
	 */
	
	public static void main(String[] args) {

		Estafeta estafeta;
		
		teclado = new Scanner(System.in);
		estafeta = new Estafeta();
		menuPrincipal(estafeta);

	}
	
	private static void menuPrincipal(Estafeta estafeta) {
		char opcion;
		String nombreBuzon;
		Buzon buzon;
		
		do {
			System.out.println("\nMENÚ PRINCIPAL");
			System.out.println("==============\n");
			System.out.println("A - Abrir un buzón");
			System.out.println("C - Crear un buzón");
			System.out.println("L - Crear una lista de correo");
			System.out.println("R - Crear un buzón robotizado");
			System.out.println("E - Eliminar un buzón");
			System.out.println("S - Salir del programa");
			System.out.print("\nIntroduzca una opción: ");
			opcion = (teclado.nextLine() + " ").toUpperCase().charAt(0);
			System.out.println();
			
       switch(opcion) {
			case 'A':
				System.out.println("ABRIR UN BUZÓN\n");
				System.out.print("Nombre del buzón: ");
				nombreBuzon = teclado.nextLine();
				buzon = null;
				buzon = estafeta.abrirBuzon(nombreBuzon);
				if (buzon != null)
					menuBuzon(estafeta, buzon);
				else
					System.out.println("El buzón no existe.");
				break;
			case 'C':
				System.out.println("CREAR UN BUZÓN\n");
				System.out.print("Nombre del buzón: ");
				nombreBuzon = teclado.nextLine();
				if(estafeta.crearBuzon(nombreBuzon))
					System.out.println("Buzon creado correctamente.");
				else
					System.out.println("No se a podido crear el buzon");
				break;				
			case 'L':
				System.out.println("CREAR UNA LISTA DE CORREO\n");
				System.out.print("Nombre de la lista: ");
				nombreBuzon = teclado.nextLine();
				System.out.print("Miembros de la lista: (Escribalos todos en la misma linea separados por espacios)");
				String c = teclado.nextLine();
				String[] miembros = c.split(" ");
				if( estafeta.crearListaCorreo(nombreBuzon,miembros))
					System.out.println("Lista creada correctamente.");
				else
					System.out.println("No se a podido crear la lista");
				break;				
			case 'R':
				System.out.println("CREAR UN BUZÓN ROBOTIZADO\n");
				System.out.print("Nombre del buzón: ");
				nombreBuzon = teclado.nextLine();
				if( estafeta.crearBuzonRobotizado(nombreBuzon))
					System.out.println("Buzon creado correctamente.");
				else
					System.out.println("No se a podido crear el buzon");
				break;				
					
			case 'E':
				System.out.println("ELIMINAR UN BUZÓN\n");
				System.out.print("Nombre del buzón: ");
				nombreBuzon = teclado.nextLine();
				if(estafeta.destruirBuzon(nombreBuzon))
					System.out.println("Buzon eliminado correctamente.");
				else
					System.out.println("No se a podido eliminar el buzon");			
				break;
			}
		} while (opcion != 'S');
		System.out.println("SALIR DEL PROGRAMA\n");
	}
	
	private static void menuBuzon(Estafeta estafeta, Buzon buzon) {
		char opcion;
		int numMensaje;
		
		do {
			System.out.println("\nMENÚ DEL BUZÓN");
			System.out.println("==============\n");
			System.out.println("L - Listar mensajes");
			System.out.println("V - Ver un mensaje");
			System.out.println("B - Borrar un mensaje");
			System.out.println("E - Escribir un mensaje");
			System.out.println("S - Cerrar el buzón");
			System.out.print("\nIntroduzca una opción: ");
			opcion = (teclado.nextLine() + " ").toUpperCase().charAt(0);
			System.out.println();
			switch(opcion) {  
			case 'L':
				System.out.println("LISTAR MENSAJES\n");
				// Listar los mensajes (de, para, asunto).
				for(int i=1;i<MAX;i++){
     			System.out.println("Mensaje " +i+ " :");
				System.out.println("De: " + buzon.aMensaje[i].getDe() + "." );
				System.out.println("Para: " + buzon.aMensaje[i].getPara() + "."  );
				System.out.println("Asunto: " + buzon.aMensaje[i].getAsunto() + "." );
			}
				break;
			case 'V':
				System.out.println("VER UN MENSAJE\n");
				System.out.print("Número del mensaje: ");
				numMensaje = teclado.nextInt();
				Mensaje mens = buzon.getMensaje(numMensaje);
				System.out.println("De: " + mens.getDe() + "."  );
				System.out.println("Para: " + mens.getPara() + "."  );
				System.out.println("Asunto: " + mens.getAsunto() + "." );
				System.out.println("Texto: " + mens.getTexto() + "." );
				
				// Obtener el mensaje y mostrarlo por pantalla (de, para, asunto, texto).
				break;				
			case 'B':
				System.out.println("BORRAR UN MENSAJE\n");
				System.out.print("Número del mensaje: ");
				numMensaje = teclado.nextInt();
				if(buzon.borrarMensaje(numMensaje))
					System.out.println("Mensaje eliminado correctamente.");
				else
					System.out.println("No se a podido eliminar el mensaje");			
				// Borrar el mensaje.
				break;
			case 'E':
				System.out.println("ESCRIBIR UN MENSAJE\n");
				System.out.println("Escriba el destinatario");
				String para=teclado.nextLine();
				System.out.println("Asunto: ");
				String asunto=teclado.nextLine();
				System.out.println("Texto: ");
				String texto=teclado.nextLine();
				Mensaje mensaje = new Mensaje(buzon.getNombre(),para,asunto,texto);
				if(estafeta.enviarMensaje(mensaje,para))
					System.out.println("Mensaje enviado correctamente.");
				else
					System.out.println("No se a podido enviar el mensaje");		
				// Preguntar los campos del mensaje (de, para, asunto, texto) y enviarlo a través de la estafeta, informando del resultado del envío.
				break;
			}
		} while (opcion != 'S');
		System.out.println("CERRAR EL BUZÓN\n");
	}
	
}