1
resposta

[Projeto] Trabalho de listas em java

import java.util.Scanner;
import java.util.ArrayList;

public class App {
public static void main(String[] args) throws Exception {
Scanner sc= new Scanner(System.in);
ArrayList compras = new ArrayList<>();

   System.out.println("informe a o numero do cartao: ");
   String numero = sc.nextLine();

   System.out.println("infome o limite do cartao de credito");
   double limite = sc.nextDouble();

   Cartao cartao = new Cartao( numero, limite);

int opcao;
 
do{
   System.out.print("\n [1]- fazer compra \n");
   System.out.print("\n [2]-ver saldo da compras \n");
   System.out.print("\n  [3]- sair \n");
   opcao = sc.nextInt();
   sc.nextLine();        

 switch (opcao) {
    case 1:
    System.out.println("\n Produto que deseja comprar ");
    String descricao = sc.nextLine();

    System.out.println("\n valor da compra ");
    double valor = sc.nextDouble();
    
    if (cartao.Comprar(valor)) {
        compras.add(new Compra(descricao, valor));
        System.out.println("\n Compra aprovada !");
    }else{
        System.out.println("\n Saldo insuficiente para realizar a compra ");
    }
        break;
     case 2:
     System.out.println("\n ===Historico de compras====\n");
        for(Compra c : compras){
        System.out.println(c);
        }

        System.out.println("Saldo restante "+ String.format("%.2f", cartao.getSaldo()) );
        break;

        case 3:
        System.out.println("Sistema encerrado ....");
        break;

        default:
         System.out.println("Opicao invalida" );
    
  }

  }while (opcao !=3); 
      sc.close();
 
 }

}

public class Cartao {

private String numero;
private int limite;
private double saldo;


 public Cartao( String numero, int limite, double saldo){

 this.numero = numero;
 this.limite = limite;
 this.saldo = limite;


}

public String getNumero(){
    return numero;
}

public int getLimite(){
    return limite;

}
public double getSaldo(){
return saldo;
}

public boolean Comprar(double valor){
if (valor <= saldo){
saldo -= valor;
return true;
}else{
return false;
}
}
}

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 descricao +"- R$ " + String.format("%.2f",valor);
}
}

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Olá, Elias! Tudo bem?

Parabéns pela entrega do projeto! Seu código ficou excelente, muito bem organizado e cumpre exatamente o que o desafio propõe.

A lógica para o menu interativo com o do-while e o switch ficou ótima, e a forma como você estruturou as classes Cartao e Compra para separar as responsabilidades está certinha. O uso do ArrayList para armazenar o histórico de compras foi a aplicação perfeita do conteúdo do curso.

Bons estudos!

Sucesso

Imagem da comunidade