Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- import java.util.ArrayList;
- import java.util.Random;
- /*TRABAJO PRACTICO N° 1
- * EJERCICIO 5
- * Escribir un programa que permita ingresar la información de muchos libros de acuerdo a la implementación
- del caso ejemplo c); luego el usuario podrá indicar un rango de precios en particular y el programa deberá
- mostrar los libros cuyos precios se encuentren dentro del rango especificado.
- 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.
- */
- public class Ej_5 {
- ArrayList<Libro> libros = new ArrayList<Libro>();
- public static void main(String[] args) {
- Ej_5 ejemplo = new Ej_5 ( ) ;
- ejemplo. Ejecutar ( ) ;
- ejemplo.mostrarRango();
- }
- public void Ejecutar() {
- Scanner reader = new Scanner(System.in);
- Libro libro;
- System.out.println("Opciones");
- System.out.println(" 1. Ingresa por consola");
- System.out.println(" 2. Generar aleatoriamente");
- char opcion = reader.next().charAt(0);
- boolean op=true;
- switch (opcion) {
- case '1' :
- libro = crearLibro();
- libros.add(libro);
- System.out.println(libro);
- while(op) {
- try{
- System.out.println("Crear otro libro (True/False): ");
- op = reader.nextBoolean();
- if (op) {
- libro = crearLibro();
- libros.add(libro);
- System.out.println(libro);
- continue;
- }
- break;
- }catch (Exception exception) {
- System.out.println("!!!!!!!Ingrese un valor Lógico¡¡¡¡¡¡¡('true' o 'false')");
- op=true;
- reader.nextLine();
- }
- }
- case '2' :
- libro = randomCreate();
- libros.add(libro);
- System.out.println(libro);
- while(op) {
- try{
- System.out.println("Crear otro libro (True/False): ");
- op = reader.nextBoolean();
- if (op) {
- libro = randomCreate();
- libros.add(libro);
- System.out.println(libro);
- continue;
- }
- break;
- }catch (Exception exception) {
- System.out.println("!!!!!!!Ingrese un valor Lógico¡¡¡¡¡¡¡('true' o 'false')");
- op=true;
- reader.nextLine();
- }
- }
- }
- }
- public void mostrarRango() {
- Scanner read = new Scanner(System.in);
- Libro libroP;
- System.out.println("Ingrese el rango de precios a buscar");
- Integer fromPrecio = 0;
- Integer toPrecio = 0;
- while (true) {
- try {
- System.out.println("Desde que precio.: ");
- fromPrecio = Integer.parseInt(read.nextLine());
- if (fromPrecio < 0) {
- System.out.println("Ingrese un precio correcto");
- continue;
- }
- break;
- }catch(Exception exception){
- System.out.println("Ingrese un precio correcto");
- }
- }
- while (true) {
- try {
- System.out.println("Hasta que precio.: ");
- toPrecio = Integer.parseInt(read.nextLine());
- if (toPrecio < fromPrecio) {
- System.out.println("Ingrese un precio mayor a "+ fromPrecio);
- continue;
- }
- break;
- }catch(Exception exception) {
- System.out.println("Ingrese un precio correcto");
- }
- }
- int vacio=0;
- Integer precio;
- for (int i=0;i< libros.size();i++) {
- libroP=libros.get(i);
- precio = libroP.getPrecio();;
- if (precio >= fromPrecio && precio <= toPrecio) {
- System.out.println(libros.get(i));
- vacio=vacio+1;
- }
- }
- if (vacio==0) {
- System.out.println("No hay ningún Libro en ese rango de precios");
- }
- }
- public Libro crearLibro () {
- Scanner scanner = new Scanner(System.in);
- String titulo;
- String autor;
- String editorial;
- Integer añoDePublicacion;
- Integer precio;
- System.out.println("Ingrese la informacion del libro");
- System.out.println("Titulo.....:");
- titulo = scanner.nextLine();
- System.out.println("Autor......:");
- autor = scanner.nextLine();
- System.out.println("Editorial..:");
- editorial = scanner.nextLine();
- while (true) {
- try {
- System.out.println("Año de publicacion:");
- añoDePublicacion = Integer.parseInt(scanner.nextLine());
- if (añoDePublicacion < 0 || añoDePublicacion>2022) {
- System.out.println("Ingrese un año correcto,no superior al año corriente");
- continue;
- }
- break;
- }
- catch (Exception exception) {
- System.out.println("Ingrese un año correcto");
- }
- }
- while (true) {
- try {
- System.out.println("Precio..:");
- precio = Integer.parseInt(scanner.nextLine());
- if (precio < 0) {
- System.out.println("Ingrese un precio correcto");
- continue;
- }
- break;
- }
- catch (Exception exception) {
- System.out.println("Ingrese un precio correcto");
- }
- }
- Libro libro = new Libro(titulo, autor, editorial, añoDePublicacion, precio);
- return libro;
- }
- private Libro randomCreate() {
- String titulo;
- String autor;
- String editorial;
- Integer añoDePublicacion;
- Integer precio;
- titulo = variosTitulos[random.nextInt(variosTitulos.length)];
- autor = variosAutores[random.nextInt(variosAutores.length)];
- editorial = variasEditoriales[random.nextInt(variasEditoriales.length)];
- añoDePublicacion = random.nextInt(2021);
- precio = random.nextInt(1000);
- Libro libro = new Libro(titulo, autor, editorial, añoDePublicacion, precio);
- return libro;
- }
- //Datos para crear libros aleatoriamente
- private static String[] variosTitulos = {
- "a","b","c","d","e","f","g","h","y","j","k","m",
- "n","o","p","q","r","s","t","u","v","w","x","y","z"
- };
- private static String[] variosAutores = {
- "a","b","c","d","e","f","g","h","y","j","k","m",
- "n","o","p","q","r","s","t","u","v","w","x","y","z"
- };
- private static String[] variasEditoriales = {
- "a","b","c","d","e","f","g","h","y","j","k","m",
- "n","o","p","q","r","s","t","u","v","w","x","y","z"
- };
- static Random random = new Random();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement