Advertisement
RafaelFascio

TP1 Ejercicio 5

Sep 18th, 2020 (edited)
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.26 KB | None | 0 0
  1. import java.util.Scanner;
  2. import java.util.ArrayList;
  3. /*TRABAJO PRACTICO N° 1
  4.  * EJERCICIO 5
  5.  * Escribir un programa que permita ingresar la información de muchos libros de acuerdo a la implementación
  6. del caso ejemplo c); luego el usuario podrá indicar un rango de precios en particular y el programa deberá
  7. mostrar los libros cuyos precios se encuentren dentro del rango especificado.
  8.  *
  9.  * Indicaciones:
  10.  * Este ejercicio necesita del objeto scanner para ingresar datos por la consola o teclado, se espera que el
  11. código controle los problemas que normalmente ocurren al operar con la consola o teclado.
  12. Se espera una correcta modularización entre el código que realiza el ingreso y validación de los datos
  13. respecto del código que hace lo que se solicita en el ejercicio.
  14. El ejercicio debe implementar un mecanismo para seleccionar el ingreso de valores por consola.
  15.  */
  16.  
  17. public class Ej_5 {
  18.  
  19.     ArrayList<Libro> libros = new ArrayList<Libro>();
  20.     public static void main(String[] args) {
  21.        
  22.  
  23.         Ej_5 ejemplo =  new Ej_5 ( ) ;
  24.                 ejemplo. Ejecutar ( ) ;
  25.         ejemplo.mostrarRango();
  26.     }
  27.        
  28.    
  29.     public void Ejecutar() {
  30.         Scanner reader = new Scanner(System.in);
  31.         Libro libro;
  32.        
  33.        
  34.         System.out.println("opciones");
  35.         System.out.println(" 1. Ingresa por consola");
  36.         //System.out.println(" 2. Generar aleatoriamente");
  37.         char opcion = reader.next().charAt(0);
  38.         boolean op;
  39.        
  40.         switch (opcion) {
  41.        
  42.         case '1' :
  43.             do {
  44.                 libro = crearLibro();
  45.                 libros.add(libro);
  46.                 System.out.println(libro);
  47.                 System.out.println("/nCrea otro libro (True/False): ");
  48.                 op = reader.nextBoolean();
  49.             }while (op);
  50.             break;
  51.             //caso dos no operando
  52.         /*case '2' :
  53.             do {
  54.                 libro = (opcion == '1')? crearLibro() : randomCreate();
  55.                 System.out.println(libro);
  56.             }while (Character.toUpperCase(getCharacter(reader, "/nCrea otro libro (S/N): ")) !='N');
  57.             break;*/
  58.         }
  59.     }
  60.     private ArrayList<Libro> getLibros(){
  61.         ArrayList<Libro> libroos = new ArrayList<Libro>(libros);
  62.         return libroos;
  63.     }
  64.    
  65.     public void mostrarRango() {
  66.         Scanner reader = new Scanner(System.in);
  67.         ArrayList<Libro> libross = getLibros();
  68.        
  69.         System.out.println("/nIngrese el rango de precios a buscar");
  70.         double fromPrecio = 0.0;
  71.         double toPrecio = 0.0;
  72.        
  73.         while (true) {
  74.             System.out.println("Desde que precio.: ");
  75.             fromPrecio = reader.nextDouble();
  76.             if (fromPrecio < 0.0) {
  77.                 System.out.println("Ingrese el precio correcto");
  78.                 continue;
  79.             }
  80.             break;
  81.         }
  82.         while (true) {
  83.             System.out.println("Hasta que precio.: ");
  84.             toPrecio = reader.nextDouble();
  85.             if (toPrecio < fromPrecio) {
  86.                 System.out.println("Ingrese el precio correcto");
  87.                 continue;
  88.             }
  89.             break;
  90.         }
  91.        
  92.         Double precio;
  93.         for (Libro libro: libross) {
  94.             precio = libro.getPrecio();
  95.             if (precio >= fromPrecio && precio <= toPrecio) {
  96.                 System.out.println(libro);
  97.             }
  98.         }
  99.     }
  100.    
  101.    
  102.     public  Libro crearLibro () {
  103.         Scanner scanner = new Scanner(System.in);
  104.         String titulo;
  105.         String autor;
  106.         String editorial;
  107.         Integer añoDePublicacion;
  108.         double precio;
  109.        
  110.         System.out.println("Ingrese la informacion del libro/n");
  111.         System.out.println("Titulo.....:");
  112.         titulo = scanner.nextLine();
  113.        
  114.         System.out.println("Autor......:");
  115.         autor = scanner.nextLine();
  116.        
  117.         System.out.println("Editorial..:");
  118.         editorial = scanner.nextLine();
  119.        
  120.         while (true) {
  121.             try {
  122.                 System.out.println("Año de publicacion:");
  123.                 añoDePublicacion = Integer.parseInt(scanner.nextLine());
  124.                 if (añoDePublicacion < 0) {
  125.                     System.out.println("Ingrese un año correcto");
  126.                     continue;
  127.                 }
  128.                 break;
  129.             }
  130.             catch (Exception exception) {
  131.                 System.out.println("Ingrese un año correcto");
  132.             }
  133.         }
  134.        
  135.         while (true) {
  136.             try {
  137.                 System.out.println("Precio..:");
  138.                 precio = Double.parseDouble(scanner.nextLine());
  139.                 if (precio < 0.0) {
  140.                     System.out.println("Ingrese un precio correcto");
  141.                     continue;
  142.                 }
  143.                 break;
  144.             }
  145.             catch (Exception exception) {
  146.                 System.out.println("Ingrese un precio correcto");
  147.             }
  148.         }
  149.         Libro libro = new Libro(titulo, autor, editorial, añoDePublicacion, precio);
  150.         return libro;
  151.     }
  152.    
  153.     //comentado por no tener llamado
  154.     /*private Libro randomCreate() {
  155.         String titulo;
  156.         String autor;
  157.         String editorial;
  158.         Integer añoDePublicacion;
  159.         Double precio;
  160.        
  161.         Ramdom ramdon = new Ramdom();
  162.        
  163.         titulo = variosTitulos[random.nextInt(variosTitulos.length)];
  164.         autor = variosAutores[random.nextInt(variosAutores.length)];
  165.         editorial = variasEditoriales[random.nextInt(variosEditoriales.length)];
  166.         añoDePublicacion = random.nextInt(2020);
  167.         precio = random.nextDouble() * 1000;
  168.        
  169.         Libro libro = new Libro(titulo, autor, editorial, añoDePublicacion, precio);
  170.         return libro;
  171.     }*/
  172.    
  173.     //Datos para crear libros aleatoriamente
  174.     private static String[] variosTitulos = {
  175.             "a","b","c","d","e","f","g","h","y","j","k","m",
  176.             "n","o","p","q","r","s","t","u","v","w","x","y","z"
  177.     };
  178.     private static String[] variosAutores = {
  179.             "a","b","c","d","e","f","g","h","y","j","k","m",
  180.             "n","o","p","q","r","s","t","u","v","w","x","y","z"
  181.     };
  182.     private static String[] variasEditoriales = {
  183.             "a","b","c","d","e","f","g","h","y","j","k","m",
  184.             "n","o","p","q","r","s","t","u","v","w","x","y","z"
  185.     };
  186.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement