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

[Proyecto] Propuesta de Solucion al Desafio

A la comunidad dejo aquí mi propuesta

package com.alura.screenmatch.principal;

import com.alura.screenmatch.modelos.Compra;

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

public class Prueba {
    public static void main(String[] args) {
        Scanner lectura = new Scanner(System.in);
        List<Compra> listaCompras = new ArrayList<>();
        int opcion;
        String menu = """
                - 0 .Para Salir
                - 1 .Para Continuar
                """;
        double valorCompraTotal = 0;
        System.out.println("Ingrese el límite de credito de la tarjeta:");
        double saldoInicial = lectura.nextDouble();
        lectura.nextLine();
        do {
            System.out.println("Ingrese producto a comprar:");
            String nombreProducto = lectura.nextLine();
            System.out.println("Ingrese precio de producto:");
            double precioProducto = lectura.nextDouble();
            lectura.nextLine();
            Compra producto = new Compra(nombreProducto, precioProducto);
            valorCompraTotal += precioProducto;
            if (valorCompraTotal > saldoInicial) {
                System.out.println("Saldo insuficiente!!!");
                valorCompraTotal -= precioProducto;
                break;
            }
            listaCompras.add(producto);
            System.out.println("*****Compra realizada!!!*****");
            do {
                System.out.println(menu);
                System.out.println("Ingrese una opción, por favor:");
                opcion = lectura.nextInt();
                lectura.nextLine();
                if (opcion != 0 && opcion != 1) {
                    System.out.println("Opción inválida, ingrese nuevamente.");
                }
            }while (opcion != 0 && opcion != 1) ;
            } while (opcion != 0);
            saldoInicial -= valorCompraTotal;
            listaCompras.sort(Comparator.comparing(Compra::getValor));
            System.out.println("""
                        ****************************
                        *****COMPRAS REALIZADAS*****
                    """);
            for (Compra item : listaCompras) {
                System.out.print("""
                                 %s - $%.2f
                        """.formatted(item.getNombre(), item.getValor()));
            }
            System.out.println("    ---------------------------");
            System.out.println("        Valor Total= " + String.format("$%.2f", valorCompraTotal));
            System.out.println("    Saldo Disponible en la tarjeta= $" + saldoInicial);
    }
}
1 respuesta

¡Hola Daniel! ¿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!