1
resposta

Esta foi a minha solução

package br.com.alura.cartaodecredito.principal;

import br.com.alura.cartaodecredito.compra.Compra;

import java.util.*;

public class principal { public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);
    List compras = new ArrayList<>();

    System.out.println("Informe o limite do cartão:");
    double fatura = scanner.nextDouble();

    //System.out.println("A fatura é: " + fatura);
    int opcao = 1;
    while (opcao != 0) {
        scanner.nextLine();
        System.out.println("Informe a descrição da compra: ");
        String descricao = scanner.nextLine();
        System.out.println("Informe o valor de sua compra (" + descricao + "):");
        double valor = scanner.nextDouble();
        if (valor <= fatura) {
            Compra compra = new Compra(descricao, valor);
            compras.add(compra);
            fatura -= valor;
        } else {
            System.out.println("O valor é maior que o saldo. \n Saldo: " + fatura + " R$");
        }
        System.out.println("Digite 0 para sair ou 1 para continuar: ");
        opcao = scanner.nextInt();
    }


    compras.sort(Comparator.comparing(Compra::getValor));
    System.out.println("********************");
    System.out.println("Compras ordenadas por valor: " + compras + "\n");
    System.out.println("********************");
    System.out.println("Saldo atual: " + fatura);
}

}

======================================================================================================= package br.com.alura.cartaodecredito.compra;

public 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 "\n" + this.descricao + " - " + this.valor + " R$";
}

}

1 resposta

Oi, Felipe! Tudo bem?

Parabéns pelo código, ficou super bacana! A prática do conteúdo é algo que nos ajuda a internalizar o conhecimento adquirido e nesse processo caso tenha restado alguma dúvida em específico, sinta-se à vontade em comunicar, estou à disposição e ficarei super feliz em poder ajudar!

Um forte abraço e bons estudos!