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

[Sugestão] esse foi o jeito que consegui fazer o desafio de arraylist alguma sugestão?

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("qual limite da sua conta");
        double limite = sc.nextDouble();
        double saldo = limite;
        System.out.println("digite 1 pra inicar uma compra: ");
        int n = sc.nextInt();
        CartaoDeCredito cartaoDeCredito = new CartaoDeCredito(limite,saldo);
        List<Produto> compra = new ArrayList<>();
        while (n !=0 && cartaoDeCredito.getSaldo() > 0) {
            System.out.println("Qual a descrição do produto: ");
            sc.nextLine();
            String nome = sc.nextLine();
            System.out.println("Qual valor do intem");
            double valor = sc.nextDouble();
            cartaoDeCredito.Lanca(valor);
            if(valor < cartaoDeCredito.getSaldo()){
                System.out.println("compra realizada");
                Produto produto = new Produto(nome,valor);
                compra.add(produto);
                System.out.println("deseja continuar aperte 1 deseja parar aperte 0");
                n = sc.nextInt();
            }else{
                System.out.println("----------------------------------");
                System.out.println("Saldo insuficiente");
                n = 0;
            }
        }
        System.out.println("-----------------------------------");
        System.out.println("compras realizadas");
        compra.sort(Comparator.comparing(Produto::getValor));
        for (Produto prod: compra) {
            System.out.println(prod);
        }
        System.out.println("-----------------------------------");
        System.out.println("Saldo do cartão " + cartaoDeCredito.getSaldo());


   ;




        sc.close();

    }


}
import java.util.List;

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


    public CartaoDeCredito(double limite, double saldo) {
        this.limite = limite;
        this.saldo = this.limite;

    }

    public double getLimite() {
        return limite;
    }

    public double getSaldo() {
        return saldo;
    }


    public void Lanca(double compra){
        if(saldo > compra)
            saldo -= compra;
        else{

        }

    }


}
public class Produto implements Comparable<Produto> {
    private String descricao;
    private double valor;

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

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    public double getValor() {
        return valor;
    }

    public void setValor(double valor) {
        this.valor = valor;
    }
    @Override
    public String toString(){
        return  this.descricao +" - " + " Valor: $" + this.valor ;
    }

    @Override
    public int compareTo(Produto outroProduto) {
        return getDescricao().compareTo(outroProduto.getDescricao());
    }
}
1 resposta
solução!

Olá, Wesley! Tudo bem? Espero que sim!

Dei uma olhada no seu código e ele está bem organizado e condizente com o que foi passado pelo instrutor, e isso mostra o quão comprometido você está com o curso.

No momento não tenho nenhuma sugestão, apenas continue se esforçando nos estudos! E caso surjam quaisquer dúvidas eu estarei à sua disposição.

Abraços e bons estudos!