Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Proyecto final del desafío

package com.entronomia.aplicaciones.comercio.operaciones;

public class Compra implements Comparable<Compra> {
    private double costo;
    private String producto;

    public Compra(double costo, String producto) {
        this.costo = costo;
        this.producto = producto;
    }

    public double getCosto() {
        return costo;
    }

    public String getProducto() {
        return producto;
    }

    @Override
    public int compareTo(Compra compra) {
        if (this.getCosto() < compra.getCosto()) {
            return -1;
        } else if (this.getCosto() > compra.getCosto()) {
            return 1;
        } else {
            return 0;
        }
    }

    @Override
    public String toString() {
        return "producto: " + this.getProducto() + " costo: " + this.getCosto();
    }
}
package com.entronomia.aplicaciones.comercio.principal;

import com.entronomia.aplicaciones.comercio.operaciones.Compra;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

public class Tienda {
    public static void main(String[] args) {
        double saldo = 0;
        String producto;
        double costo;
        boolean estado = true;
        int operacion = 0;
        Scanner entrada = new Scanner(System.in);
        List<Compra> listaDeCompras = new ArrayList<>();
        System.out.println("**********************************************");
        System.out.println("Operaciones de compra con tarjeta de debito");
        System.out.println("**********************************************");
        System.out.println("¿Cuál es el saldo inicial de la tarjeta?");
        saldo = entrada.nextDouble();
        while (estado) {
            System.out.println("Escriba el número de la operación a realizar:");
            System.out.println("1. Realizar compra");
            System.out.println("2. Consultar saldo y listar compras realizadas");
            System.out.println("3. Salir");
            operacion = entrada.nextInt();
            switch (operacion) {
                case 1: {
                    System.out.println("¿Que producto va a comprar?");
                    producto = entrada.next();
                    System.out.println("¿Cuál es el monto de la compra?");
                    costo = entrada.nextDouble();
                    if (costo > saldo) {
                        System.out.println("El saldo es insuficiente, intente con otro producto");
                        break;
                    } else {
                        saldo = saldo - costo;
                        Compra compra = new Compra(costo, producto);
                        listaDeCompras.add(compra);
                        break;
                    }
                }
                case 2: {
                    Collections.sort(listaDeCompras);
                    System.out.println("El saldo actualizado es: " + saldo + "$");
                    System.out.println("La lista de compras realizadas ordenadas por monto es: " + listaDeCompras);
                    break;
                }
                case 3: {
                    System.out.println("Finalizando el programa. Muchas gracias por usar nuestros servicios");
                    estado = false;
                }
            }
        }
    }
}
1 respuesta

¡Hola Roberto! ¿Cómo estás?

Gracias por tu aporte en el foro. Su contribución es esencial para el crecimiento de nuestra comunidad en Alura.

Sigue así y no dudes en volver al foro si tienes alguna pregunta o dificultad.

Abrazos y buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!