Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // Created by Julio Tentor <jtentor@fi.unju.edu.ar>
- //
- /*
- Utilizar colas para organizar los emails de la cuenta de correo de un usuario. Los correos electrónicos se
- agregan inicialmente en la cola Bandeja de Entrada pero posteriormente se los debe reubicar en las colas
- Principal, Social y Promociones. La información de los correos es la siguiente: remitente, asunto y cuerpo. Si
- el asunto contiene el nombre de alguna red social se debe agregar el correo a la cola Social, si contiene la
- palabra oferta, venta o viajes se debe agregar a la cola Promociones y el resto se debe agregar en Principal.
- Desencolar los emails de cada cola presentando su información en pantalla e indicar la cantidad de correos
- de cada una.
- Modifique el programa escrito de manera que permita optar entre el ingreso de valores por consola o por
- un generador de valores aleatorios.
- Indicaciones :
- Este ejercicio necesita del objeto scanner para ingresar datos por la consola o teclado, se espera que el
- código controle los problemas que normalmente ocurren al operar con la consola o teclado.
- Se espera una correcta modularización entre el código que realiza el ingreso y validación de los datos
- respecto del código que hace lo que se solicita en el ejercicio.
- El ejercicio debe implementar un mecanismo para seleccionar el ingreso de valores por consola o
- generados aleatoriamente.
- */
- public class TP3E05 {
- private MailAccount mailAccount;
- public void Run() {
- mailAccount = new MailAccount();
- getData();
- System.out.println("Mails creados:\n" + mailAccount.toStringInBox() );
- mailAccount.processAllMails();
- System.out.println("\n" + mailAccount.toStringAllLabels());
- }
- private void getData() {
- Integer option;
- while (true) {
- System.out.println(
- "\nTrabajo Práctico Nº 3 - Ejercicio 5\n" +
- "\nOpciones" +
- "\n 1. Ingresa valores por consola" +
- "\n 2. Genera valores aleatorios"
- );
- option = Helper.getInteger("\nSu opción: ");
- switch (option) {
- case 1 :
- consoleInput();
- return;
- case 2 :
- randomGenerate();
- return;
- }
- }
- }
- private void consoleInput() {
- String sender;
- String subject;
- String body;
- System.out.println("\nIngrese los datos de los mails");
- do {
- while(true) {
- System.out.print("Remitente: ");
- sender = Helper.scanner.nextLine();
- if (!sender.isEmpty()) {
- break;
- }
- System.out.println("Ingrese un remitente válido...");
- }
- while(true) {
- System.out.print("Asunto...: ");
- subject = Helper.scanner.nextLine();
- if (!subject.isEmpty()) {
- break;
- }
- System.out.println("Ingrese un asunto válido...");
- }
- while(true) {
- System.out.print("Cuerpo...: ");
- body = Helper.scanner.nextLine();
- if (!body.isEmpty()) {
- break;
- }
- System.out.println("Ingrese un cuerpo válido...");
- }
- if ( !mailAccount.add(new EMail(sender, subject, body)) ) {
- System.out.println("La bandeja de entrada está llena ...");
- }
- } while (Character.toUpperCase(Helper.getCharacter("Ingresa otro mail (S/N): ")) != 'N');
- }
- private void randomGenerate() {
- for(int count = Helper.random.nextInt(20) + 1; count > 0; --count) {
- mailAccount.add(
- new EMail(
- senderValues[Helper.random.nextInt(senderValues.length)],
- subjectValues[Helper.random.nextInt(subjectValues.length)],
- "Cuerpo del mail"));
- }
- }
- private static String [] senderValues = new String[] {
- "Ana", "Baltazar", "Carola", "Dario", "Estela", "Federico", "Gloria", "Horacio", "Ines"
- };
- private static String [] subjectValues = new String[] {
- "Facebook avisa que llevas una hora conectado",
- "Felicitaciones aprobó Estructura de Datos",
- "Instagram está bueno",
- "Oferta de notebook",
- "Tienen que dedicarse más",
- "Tik Tok es entretenido",
- "Un poco de esfuerzo no hace mal",
- "Venta de chupetines",
- "Nos se pueden hacer Viajes a china"
- };
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement