Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] minha solução desafio final

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        List<Compras> listadeCompras = new ArrayList<>();
        System.out.println("Digite o limite do cartão");
        double limite = sc.nextDouble();
        sc.nextLine();
        CartaoDeCredito cartaoDeCredito = new CartaoDeCredito(limite);
        int n= 1 ;
       while(n != 0){

               System.out.println("Digite a descrição do pedido");
               String descricao = sc.nextLine();
               System.out.println("valor do produto:");
               double valor = sc.nextDouble();
               if(valor < cartaoDeCredito.getLimite()) {
                   Compras compras = new Compras(descricao, valor);
                   cartaoDeCredito.compra(valor);
                   listadeCompras.add(compras);
                   System.out.println("compra realizada!");
                   System.out.println("digite 0 pra finalizar ou 1 para continuar");
                   n = sc.nextInt();
                   sc.nextLine();
               }else{
                   System.out.println("saldo insuficiente");
                   n = 0;
               }
       }
        System.out.println("COMPRAS REALIZADAS");
        System.out.println();
        listadeCompras.sort(Comparator.comparing(Compras::getValor));
        for (Compras inten: listadeCompras) {

            System.out.println(inten);
        }


        System.out.println("************************");
        System.out.println();
        System.out.println("saldo do cartao de credito " + cartaoDeCredito.Saldo());


        sc.close();

    }
}
import java.util.List;

public class CartaoDeCredito {
    private double limite;
    private double saldo;


    public CartaoDeCredito(double limite) {
        this.limite = limite;
    }

    public double getSaldo() {
        return saldo  ;
    }

    public double getLimite() {
        return limite;
    }
    public void compra(double valor){
      this.limite -=  valor;
    }
    public double Saldo(){
      return  this.saldo = limite ;
    }
        private String nome;
    private double valor;

    public Compras(String nome, double valor) {
        this.nome = nome;
        this.valor = valor;
    }

    public String getNome() {
        return nome;
    }

    public double getValor() {
        return valor;
    }

    @Override
    public String toString() {
        return  this.nome + " - " + this.valor;

    }
    public class Compras  {
    private String nome;
    private double valor;

    public Compras(String nome, double valor) {
        this.nome = nome;
        this.valor = valor;
    }

    public String getNome() {
        return nome;
    }

    public double getValor() {
        return valor;
    }

    @Override
    public String toString() {
        return  this.nome + " - " + this.valor;

    }




}





}
1 resposta
solução!

Oi Wesley, tudo bem?

Muito obrigada por compartilhar sua solução! É inspirador ver você praticando suas habilidades em Java e trabalhando com listas e coleções de dados. Continue assim, e parabéns pelo seu progresso!

Um abraço e bons estudos.