1
resposta

[Projeto] Desafio Final

Ave Estudantes!

Minha versão ficou assim ... batizei o banco como GadBank, mantive a Jaqueline como cliente, optei por saldo, depósito e saque, coloquei um limite de crédito e a opção de realizar mais de um serviço e uma mensagem de encerramento do atendimento.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        System.out.println("Gadjonhas!  Esse é o GadBank");

        String cliente = "Jaqueline Oliveira";
        String tipoConta = "Corrente";
        double saldoConta = 2500.0;
        double limiteCredito = 1500.0;

        Scanner terminalCliente = new Scanner(System.in);
        boolean atendimentoEmAndamento = true;

        while (atendimentoEmAndamento) {
           String menuInicial =  """
            ********************************************
            Bem vinda, %s!
            Como posso te ajudar com a sua Conta %s?
            Seu saldo atual é : R$ %.2f
            Seu limite de crédito é : R$ %.2f
            ********************************************
            
            Operações:
            1- Consultar saldos
            2- Depositar valor
            3- Sacar valor
            4- Sair
    
            Digite o valor da operação desejada:
            """.formatted(cliente, tipoConta, saldoConta, limiteCredito);

            System.out.println(menuInicial);
            int operacaoCliente = terminalCliente.nextInt();

            switch (operacaoCliente) {
                case (1):
                    // Consultar saldos
                    System.out.println("Seu saldo atual é de R$ %.2f ".formatted(saldoConta));

                    System.out.println("""
                        
                        Digite:
                         1- Para fazer outra operação:
                         4- Para Encerrar o atendimento
                        """);
                    int novaOpcao = terminalCliente.nextInt();
                    if (novaOpcao == 4) {
                        atendimentoEmAndamento = false;
                    }
                    break;

                case (2):
                    // Depositar valor
                    System.out.println("Digite o valor a ser depositado:");
                    double deposito = terminalCliente.nextDouble();
                    saldoConta += deposito;

                    System.out.println("""
                        Depósito realizado com $ucesso!
                        
                        Digite:
                         1- Para fazer outra operação:
                         4- Para Encerrar o atendimento
                        """);
                    novaOpcao = terminalCliente.nextInt();
                    if (novaOpcao == 4) {
                        atendimentoEmAndamento = false;
                    }
                    break;

                case (3):
                    // Sacar um valor
                    String mensagemSaque = "Saque realizado com $ucesso!";
                    System.out.println("Digite o valor que quer sacar:");
                    double saque = terminalCliente.nextDouble();
                    if (saque <= (saldoConta + limiteCredito)) {
                        saldoConta -= saque;
                    } else {
                        System.out.println("Infelizmente a sua conta não suporta um saque deste valor!");
                        mensagemSaque = "Saque não realizado.";
                    }

                    System.out.println("""
                        %s
                        
                        Digite:
                         1- Para fazer outra operação:
                         4- Para Encerrar o atendimento
                        """.formatted(mensagemSaque));
                    novaOpcao = terminalCliente.nextInt();
                    if (novaOpcao == 4) {
                        atendimentoEmAndamento = false;
                    }
                    break;
                case (4):
                    // Sair
                    atendimentoEmAndamento = false;
                    break;
                default:
                    System.out.println("""
                        A opção indicada não existe!
                        
                        Digite:
                         1- Para fazer outra operação:
                         4- Para Encerrar o atendimento
                        """);
                    novaOpcao = terminalCliente.nextInt();
                    if (novaOpcao == 4) {
                        atendimentoEmAndamento = false;
                    }
                    break;


            }
        }

        if ( !(atendimentoEmAndamento)) {
            System.out.println("""
                    O GadBank agradece a parceria!
                    Conte com a gente sempre. 
                    """);
        }



    }
}
1 resposta

Olá, Elves!

Parabéns pelo projeto, você fez um excelente trabalho na implementação final! Seu código parece estar bem organizado e fácil de entender. Você conseguiu implementar todas as funcionalidades solicitadas no desafio, como consultar saldos, depositar valores, sacar valores e sair. Além disso, você adicionou um recurso de limite de crédito, que é ótimo!

A única sugestão que eu deixo, é em relação ao fechamento do Scanner. É uma boa prática fechar o Scanner quando você terminar de usá-lo para liberar recursos. Você pode fazer isso adicionando terminalCliente.close(); antes da última linha do seu código.

Espero ter ajudado e bons estudos!