Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
0
respuestas

Nueva app

*** Codigo realizado antes de ver los videos, sin seguir las instrucciones. Lo hice como me parecia a mi por eso es distinto *** MAIN:

import Modelos.Productos;

import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        double limiteTarjeta;
        String descripcionCompra;
        double valorCompra;
        int condicion = 1;
        List<Productos> producto = new ArrayList<>();

        Scanner entrada = new Scanner(System.in);
        System.out.println("Escriba el limite de la tarjeta:");
        limiteTarjeta = entrada.nextDouble();
        entrada.nextLine(); // limpio memoria

        do {
            System.out.println("Escriba la descripción de la compra:");
            descripcionCompra = entrada.nextLine();
            System.out.println("Escriba el valor de la compra:");
            valorCompra = entrada.nextDouble();

            if (limiteTarjeta >= valorCompra){
                producto.add(new Productos(descripcionCompra,valorCompra));
                limiteTarjeta -= valorCompra;
                System.out.println("¡Compra realizada!");
            }else {
                System.out.println("¡Saldo insuficiente!");
                break;
            }
            System.out.println("Escriba 0 para salir o 1 para continuar:");
            condicion = entrada.nextInt();
            entrada.nextLine(); //limpio la memoria
        }while (condicion == 1);

        //ordeno la lista de productos segun el precio
        producto.sort(Comparator.comparing(Productos::getPrecio));

        //itero mediante un for para ir mostrando uno por uno
        System.out.println("**********\n COMPRAS REALIZADAS: ");
        for (Productos p : producto){
            System.out.println("- " + p.getNombre() + " $" + p.getPrecio());
        }

        System.out.println("**********\n Saldo de la tarjeta: $" + limiteTarjeta);
    }
}

PRODUCTOS:

package Modelos;

public class Productos {
    private String nombre;
    private double precio;

    public Productos(String nombre, double precio) {
        this.nombre = nombre;
        this.precio = precio;
    }

    public String getNombre() {
        return nombre;
    }

    public double getPrecio() {
        return precio;
    }

}