1
resposta

[Projeto] Minha solução para o projeto

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

public class principal {
    public static void main(String[] args) {
        Scanner leitura = new Scanner(System.in);

        System.out.println("Digite o limite do seu cartão:");
        double limite = leitura.nextDouble();
        leitura.nextLine();

        double saldoAtual = limite;
        List<Compra> compras = new ArrayList<>();

        while (true) {
            System.out.println("Descrição da compra:");
            String descricao = leitura.nextLine();

            System.out.println("Digite o valor da compra:");
            double valorDaCompra = leitura.nextDouble();

            if (valorDaCompra <= saldoAtual) {
                saldoAtual -= valorDaCompra;
                System.out.println("Compra realizada!");
                compras.add(new Compra(descricao, valorDaCompra));
            } else {
                System.out.println("Saldo insuficiente!");
                break;
            }

            System.out.println("Digite 0 para sair ou 1 para continuar:");
            int sair = leitura.nextInt();
            if (sair == 0) {
                break;
            }

            leitura.nextLine();
        }

        Collections.sort(compras, Comparator.comparingDouble(Compra::getValor).reversed());

        System.out.println("**************");
        System.out.println("Compras realizadas (em ordem decrescente de valor):");
        for (Compra compra : compras) {
            System.out.println(compra);
        }
        System.out.println("**************");

        System.out.println("Saldo do cartão: " + saldoAtual);
        
        leitura.close();
    }
}

class Compra {
    private String descricao;
    private double valor;

    public Compra(String descricao, double valor) {
        this.descricao = descricao;
        this.valor = valor;
    }

    public String getDescricao() {
        return descricao;
    }

    public double getValor() {
        return valor;
    }

    @Override
    public String toString() {
        return "Descrição: " + descricao + ", Valor: " + valor;
    }
}
1 resposta

Opa, Gabriel! Tudo certo?

Seu código está ótimo - apresenta boa estrutura e endentação correta. Parabéns! Isso é super importante para que a leitura seja de fácil entendimento. Continue praticando e aplicando seus conhecimentos.

Em caso de dúvidas e problemas recorra ao fórum! Nossa comunidade estará aqui pare lhe ajudar.

Abraços e bons estudos!