Leonel_G

Tp3EJ6v2

Oct 13th, 2021
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.49 KB | None | 0 0
  1. import java.util.*;
  2. public class Tp3Ej6 {
  3.     public static void main(String[] args) {
  4.         Queue imprimir = new Queue<>();
  5.         Scanner entrada = new Scanner(System.in);
  6.         int cont =0;
  7.         while (cont!=3){
  8.             switch(cont){
  9.                 case 1:
  10.                     cargarDocumento(entrada,imprimir,cont);
  11.                     imprimirDocumento(imprimir);
  12.                     break;
  13.                 case 2:
  14.                     documentoRandom(entrada, imprimir,cont);
  15.                     imprimirDocumento(imprimir);
  16.                     break;
  17.             }
  18.             cont=Helper.validarNumero(entrada, "'opcion' \n1-Manual \n2-Random \n3-Salir");
  19.         }
  20.  
  21.     }
  22.  
  23.     public static void cargarDocumento(Scanner entrada, Queue imprimir,int cont) {
  24.         Documento documento;
  25.         String nombre,tamaño,preferencia;
  26.         int cantidad,numeroDeCopias,continuar=1;
  27.         while(continuar!=2){
  28.             nombre = Helper.cargarLetra(entrada, "ingresar nombre");
  29.             cantidad = Helper.validarNumero(entrada, "ingresar cantidad de hojas");
  30.             tamaño = elegirTamaño(entrada,cont);
  31.             numeroDeCopias = Helper.validarNumero(entrada, "ingresar numero de copia");
  32.             preferencia = preferenciaImprimir(entrada,cont);
  33.             documento = new Documento(nombre, cantidad, tamaño, numeroDeCopias, preferencia);
  34.             imprimir.offer(documento);
  35.             continuar = Helper.elegirOpcion(entrada,"'opcion' \n1-Seguir Cargando \n2-Salir");
  36.         }
  37.     }
  38.  
  39.     public static void documentoRandom(Scanner entrada, Queue imprimir,int cont) {
  40.         Documento documento;
  41.         String nombre,tamaño,preferencia;
  42.         int cantidad,numeroDeCopias,continuar=1;
  43.         while(continuar!=2){
  44.             nombre = nombreRandom("Generando nombre aleatorio...");
  45.             cantidad = generarRandom ("Generando cantidad de hojas...",100);
  46.             tamaño = elegirTamaño(entrada,cont);
  47.             numeroDeCopias = generarRandom("Generando numero de copia...",100);
  48.             preferencia = preferenciaImprimir(entrada,cont);
  49.             documento = new Documento(nombre, cantidad, tamaño, numeroDeCopias, preferencia);
  50.             imprimir.offer(documento);
  51.             continuar = Helper.elegirOpcion(entrada,"'opcion' \n1-Seguir Cargando \n2-Salir");
  52.         }
  53.     }
  54.  
  55.     public static String preferenciaImprimir(Scanner entrada,int cont) {
  56.         int opcion =0;
  57.         while(true){
  58.             if(opcion ==1){
  59.                 return "Color";
  60.             }
  61.             if(opcion ==2){
  62.                 return "Escala Grises";
  63.             }
  64.             if (cont==1){
  65.                 opcion = Helper.validarNumero(entrada,"'Opcion de Preferencia' \n1-Color \n2-Escala en Grises");
  66.             }
  67.             if(cont==2){
  68.                 opcion = generarRandom("Seleccionando preferencia...",2);
  69.             }
  70.         }
  71.     }
  72.  
  73.     public static String elegirTamaño(Scanner entrada,int cont) {
  74.         int opcion =0;
  75.         while(true){
  76.             if(opcion ==1){
  77.                 return "A4";
  78.             }
  79.             if(opcion ==2){
  80.                 return "Oficio";
  81.             }
  82.             if(opcion ==3){
  83.                 return "Carta";
  84.             }
  85.             if (cont==1){
  86.                 opcion = Helper.validarNumero(entrada,"'Opcion de Tamaño' \n1-A4 \n2-Oficio \n3-Carta");
  87.             }
  88.             if(cont==2){
  89.                 opcion = generarRandom("Seleccionando tamaño...",3);
  90.             }
  91.         }
  92.     }
  93.  
  94.     public static String nombreRandom(String mensaje){
  95.         int random;
  96.         System.out.println(mensaje);
  97.         String [] nombre ={"Fernanda","Lorena ","Martín ","Sara","Pedro","Gabriel","Gerardo","Lis","Catriel","Camila"};
  98.         random = (int) (Math.random() * nombre.length);
  99.         return nombre[random];
  100.     }
  101.  
  102.     public static int generarRandom(String mensaje,int x) {
  103.         System.out.println(mensaje);
  104.         int numRandom = (int) (Math.random() * x);
  105.         return numRandom;
  106.     }
  107.  
  108.     public static void imprimirDocumento(Queue imprimir){
  109.         Documento analizar;
  110.         int imprimirColor=0,imprimirOficio=0,contador=0,max=0,min=0,posicion1=0,posicion2=0;
  111.         while(!imprimir.estaVacia()){
  112.             contador++;
  113.             analizar =(Documento) imprimir.pool();
  114.             if (analizar.getPreferencia().equals("Color")){
  115.                 imprimirColor++;
  116.             }
  117.             if (analizar.getTamaño().equals("Oficio")){
  118.                 imprimirOficio++;
  119.             }
  120.             if(analizar.getCantidad()>max){
  121.                 posicion1=contador;
  122.                 max=analizar.getCantidad();
  123.             }
  124.             if(analizar.getCantidad()<max){
  125.                 posicion2=contador;
  126.                 min=analizar.getCantidad();
  127.             }
  128.             System.out.println(analizar);
  129.         }
  130.         informar(contador,imprimirColor,imprimirOficio,posicion1,max,posicion2,min);
  131.     }
  132.  
  133.     public static void informar(int contador,int imprimirColor,int imprimirOficio,int posicion1,int max,int posicion2,int min){
  134.         System.out.println();
  135.         System.out.println("Informacion de Documentos Imprimidos");
  136.         System.out.println("Documentos Imprimiudos en color: "+ imprimirColor);
  137.         System.out.println("Documentos Imprimidos en Oficio: "+ imprimirOficio);
  138.         System.out.println("Documento: "+ posicion1 + " cantida de hojas: "+max);
  139.         System.out.println("Documento: "+ posicion2 + " cantida de hojas: "+min);
  140.     }
  141. }
Advertisement
Add Comment
Please, Sign In to add comment