Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- import java.util.ArrayList;
- /*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.
- El ejercicio debe implementar un mecanismo para seleccionar el ingreso de valores por consola.
- */
- 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;
- switch (opcion) {
- case '1' :
- do {
- libro = crearLibro();
- libros.add(libro);
- System.out.println(libro);
- System.out.println("/nCrea otro libro (True/False): ");
- op = reader.nextBoolean();
- }while (op);
- break;
- //caso dos no operando
- /*case '2' :
- do {
- libro = (opcion == '1')? crearLibro() : randomCreate();
- System.out.println(libro);
- }while (Character.toUpperCase(getCharacter(reader, "/nCrea otro libro (S/N): ")) !='N');
- break;*/
- }
- }
- private ArrayList<Libro> getLibros(){
- ArrayList<Libro> libroos = new ArrayList<Libro>(libros);
- return libroos;
- }
- public void mostrarRango() {
- Scanner reader = new Scanner(System.in);
- ArrayList<Libro> libross = getLibros();
- System.out.println("/nIngrese el rango de precios a buscar");
- double fromPrecio = 0.0;
- double toPrecio = 0.0;
- while (true) {
- System.out.println("Desde que precio.: ");
- fromPrecio = reader.nextDouble();
- if (fromPrecio < 0.0) {
- System.out.println("Ingrese el precio correcto");
- continue;
- }
- break;
- }
- while (true) {
- System.out.println("Hasta que precio.: ");
- toPrecio = reader.nextDouble();
- if (toPrecio < fromPrecio) {
- System.out.println("Ingrese el precio correcto");
- continue;
- }
- break;
- }
- Double precio;
- for (Libro libro: libross) {
- precio = libro.getPrecio();
- if (precio >= fromPrecio && precio <= toPrecio) {
- System.out.println(libro);
- }
- }
- }
- public Libro crearLibro () {
- Scanner scanner = new Scanner(System.in);
- String titulo;
- String autor;
- String editorial;
- Integer añoDePublicacion;
- double precio;
- System.out.println("Ingrese la informacion del libro/n");
- 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) {
- System.out.println("Ingrese un año correcto");
- continue;
- }
- break;
- }
- catch (Exception exception) {
- System.out.println("Ingrese un año correcto");
- }
- }
- while (true) {
- try {
- System.out.println("Precio..:");
- precio = Double.parseDouble(scanner.nextLine());
- if (precio < 0.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;
- }
- //comentado por no tener llamado
- /*private Libro randomCreate() {
- String titulo;
- String autor;
- String editorial;
- Integer añoDePublicacion;
- Double precio;
- Ramdom ramdon = new Ramdom();
- titulo = variosTitulos[random.nextInt(variosTitulos.length)];
- autor = variosAutores[random.nextInt(variosAutores.length)];
- editorial = variasEditoriales[random.nextInt(variosEditoriales.length)];
- añoDePublicacion = random.nextInt(2020);
- precio = random.nextDouble() * 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"
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement