Não consegui fazer esse desafio com funções orientada a objetos sozinho, mais gostaria de ter feito para ter boas praticas, como eu poderia ter feito?
E da maneira que eu fiz ficou bom ou aceitavel?
package br.com.alura.desafioCredito;
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner leitura = new Scanner(System.in);
double limiteCartao;
double valorProduto;
String produto;
int continuar = 1;
ArrayList<String> listaProdutos = new ArrayList<>();
System.out.println("Digite o limite do seu cartão:");
limiteCartao = leitura.nextDouble();
do {
if (limiteCartao <= 0){
System.out.println("Você não possui limite disponivel.");
System.out.println("Saldo atual: " +limiteCartao);//
break;
}
System.out.println("Digite o produto:");
produto = leitura.next();
System.out.println("Digite o valor do produto:");//
valorProduto = leitura.nextDouble();///
if(valorProduto > limiteCartao){
System.out.println("Você não tem limite disponivel.");
System.out.println("Saldo atual " + limiteCartao); //
break;
}else {
limiteCartao -= valorProduto;//Validando a compra
listaProdutos.add(produto);
System.out.println("Compra realizada! Saldo atual " + limiteCartao);
}
System.out.println("Deseja continuar?\n Digite 1 para continuar e 0 para sair");
continuar = leitura.nextInt();
}
// preciso fazer uma condição para não exeder o limite,
// e tambem subitrair do limite do saldo e mostrar o restante
while(continuar != 0);
System.out.println("Produtos cadastrados:");
System.out.println(listaProdutos);
System.out.println("Finalizando programa...");
}
}
//Criar uma aplicação para lançamento de compras com cartão de crédito
//Menu para lançamento de compras
//Exibição da lista de compras realizadas e ordenadas por valor