import com.patrick.desafio03.models.CartaoDeCredito;
import com.patrick.desafio03.models.Produtos;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("O seu limite é de: ");
CartaoDeCredito limite = new CartaoDeCredito();
limite.setLimite(1000);
System.out.println(limite + "\n");
System.out.println("Oque voce deseja comprar :" + "\n");
Produtos produto1 = new Produtos("Calças", 5);
Produtos produto2 = new Produtos("Bermudas", 10);
Produtos produto3 = new Produtos("Camisetas", 60.5);
Produtos produto4 = new Produtos("Sapatos", 75);
System.out.println(produto1 + "\n" + produto2 + "\n" + produto3 + "\n" + produto4 + "\n");
while (true) {
System.out.println("Digite 1 para Calças");
System.out.println("Digite 2 para Bermudas");
System.out.println("Digite 3 para Camisetas");
System.out.println("Digite 4 para Sapatos");
System.out.println("Digite 5 para mostrar as compras");
System.out.println("Digite 6 para sair");
int opcao = scanner.nextInt();
switch (opcao) {
case 1:
System.out.println("Voce comprou uma calça " + "\n" + "Seu novo limite é de: ");
limite.novoLimite(produto1.getValor());
limite.adicionarCompra(produto1);
System.out.println(limite + "\n");
break;
case 2:
System.out.println("Voce comprou uma Camiseta " + "\n" + "Seu novo limite é de: ");
limite.novoLimite(produto2.getValor());
limite.adicionarCompra(produto2);
System.out.println(limite + "\n");
break;
case 3:
System.out.println("Voce comprou um Sapato " + "\n" + "Seu novo limite é de: ");
limite.novoLimite(produto3.getValor());
limite.adicionarCompra(produto3);
System.out.println(limite + "\n");
break;
case 4:
System.out.println("Voce comprou uma Bermuda " + "\n" + "Seu novo limite é de: ");
limite.novoLimite(produto4.getValor());
limite.adicionarCompra(produto4);
System.out.println(limite + "\n");
break;
case 5:
limite.mostrarComprasRealizadas();
break;
case 6:
System.out.println("Saindo...");
System.exit(0);
default:
System.out.println("Opção invalida.");
}
}
}
}
package com.patrick.desafio03.models;
import java.util.ArrayList;
import java.util.List;
public class CartaoDeCredito {
private double limite;
private final List<Produtos> comprasRealizadas;
public CartaoDeCredito() {
this.comprasRealizadas = new ArrayList<>();
}
public double getLimite() {
return limite;
}
public void setLimite(double limite) {
this.limite = limite;
}
public void novoLimite(double valor) {
limite -= valor;
}
public void adicionarCompra(Produtos produto) {
comprasRealizadas.add(produto);
}
public void mostrarComprasRealizadas() {
System.out.println("Compras realizadas:");
for (Produtos produto : comprasRealizadas) {
System.out.println(produto);
}
System.out.println();
}
@Override
public String toString() {
return String.valueOf(getLimite());
}
}
package com.patrick.desafio03.models;
public class Produtos {
private final String nome;
private final double valor;
public Produtos(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 getNome() + " preço:" + getValor();
}
}