0
respostas

[Projeto] Desafio TRABALHANDO COM LISTAS E COLEÇÃO DE DADOS

Pessoal, realizei o meu projeto antes de ver o video. Após eu assisti os videos, acredito que consegui atender o objetivo final do desafio. Criei uma lista de produtos e fiz uma verificação na classe "Cartão" onde é feito a validação se o valor do produto é superior ou não ao limite do meu cartão, descontando o valor se houver limite disponível e reajustando o saldo para futuras compras. Mas, eu gostaria de uma opnião se da forma que fiz, sem a classe "Compras" por exemplo ainda sim se torna válido o projeto.

package Models;

public class Produto {
    private String produto;
    private double preco;
    private int quantidade;

    public Produto(String produto, double preco, int quantidade) {
        this.produto = produto;
        this.preco = preco;
        this.quantidade = quantidade;
    }

    public String getProduto() {
        return produto;
    }

    public void setProduto(String produto) {
        this.produto = produto;
    }

    public double getPreco() {
        return preco;
    }

    public void setPreco(double preco) {
        this.preco = preco;
    }

    public int getQuantidade() {
        return quantidade;
    }

    public void setQuantidade(int quantidade) {
        this.quantidade = quantidade;
    }
}
package Models;

public class Cartao {
    private double limite;

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

    public void compra(Produto valor){
        if (this.limite <= valor.getPreco()){
            System.out.println("Negado! Saldo insuficiente.");
        }else {
            this.limite = limite - valor.getPreco();
            System.out.println("Autorizada!");
        }

//        if (this.limite >= valor.getPreco()) {
//            this.limite = limite - valor.getPreco();
//            System.out.println("Novo saldo: " + this.getLimite());
//        } else if (this.limite <= valor.getPreco()) {
//            System.out.println("Negado! Saldo insuficiente");
//        }
    }

    public void exibirSaldo(){
        System.out.println("Saldo: "+this.getLimite());
    }

    public double getLimite() {
        return limite;
    }

    public void setLimite(double limite) {
        this.limite = limite;
    }
}
package Main;

import Models.Cartao;
import Models.Produto;

import java.util.ArrayList;
import java.util.List;

public class Main {
    static void main() {
        List<Produto> compras = new ArrayList<>();
        Produto p1 = new Produto("Iphone", 1200.00, 1);
        Produto p2 = new Produto("Teclado Gamer Redragon", 300.00, 1);
        Produto p3 = new Produto("Delux m900PRO RED", 180.00, 1);
        Produto p4 = new Produto("Playstation 5 PRO", 5500.00, 1);

        compras.add(p1);
        compras.add(p2);
        compras.add(p3);

        Cartao cartaoMaicon = new Cartao(3000.00);
        cartaoMaicon.compra(p1);
        cartaoMaicon.exibirSaldo();

    }
}