1
resposta

Desafio Conta bancária

Finalizei o desafio sugerido pela professora, mas gostaria de opnioes sobre o meu codigo, o que eu precisaria mudar e o que eu posso melhorar

import java.util.Scanner; public class Main { public static void main(String[] args) {

    String nomeDoCliente = "Bruna couto dornelas";
    String tipoDeConta = "Corrente";
    double saldoBancario = 2500.00;
    double valoraSaque = 0;
     int valordDepsoito = 0;
    double faturaCaratao = 800;
    int recebeOpcao = 1;


    System.out.println("**************************");
    System.out.println("Dados iniciais do cliente");
    System.out.println("************************** ");


        System.out.println("Nome : " +  nomeDoCliente);
        System.out.println("Tipo de conta : " + tipoDeConta);
        System.out.println("Saldo Do Cliente : " + saldoBancario);

    System.out.println("OPERACOES\n");

         while (recebeOpcao != 5){
             Scanner dados = new Scanner(System.in); 
             System.out.println("""
         Digite uma das opcoes : 
         1 - Consultar Saldo
         2 - Deposito Bancario 
         3 - Saque Bancario
         4 - Consultar Valor Da Fatura 
         5 - Sair
         """);

             recebeOpcao = dados.nextInt();
            switch (recebeOpcao){
                case 1:
                    System.out.println("Seu saldo atual e : " + saldoBancario);
                    break;
                    
                case 2:
                    System.out.println("Qual valor deseja depositar : ");
                     valordDepsoito = dados.nextInt();
                     saldoBancario = saldoBancario + valordDepsoito;
                     System.out.println("O valor depositado e : " + valordDepsoito);
                     System.out.println("O saldo atual e :" + saldoBancario);
                     break;

                case 3:
                    System.out.println("Qual o valor que deseja sacar? : ");
                    valoraSaque = dados.nextDouble();
                    saldoBancario = saldoBancario - valoraSaque;
                    if (valoraSaque > saldoBancario || true){
                        System.out.println("""
                                Valor para saque indisponivel!
                               """);
                        break;

                    }
                        System.out.println("O valor de saque foi : " + valoraSaque);
                        System.out.println("O saldo atual e : " + saldoBancario);
                        break;

                case 4:
                    System.out.println("O valor da fatura do seu cartao e : " + faturaCaratao);
                    break;

                case 5:
                    System.out.println("Operacao encerrada!");
                    break;

                default:
                    System.out.println("Opcao invalida! Digite um das opcoes seguintes : ");
                    break;

            }

         }

}

}

1 resposta

Olá, Mateus, tudo bem?

Espero que esteja gostando do curso! Colocar em execução as atividades propostas pelo professor em aula é uma prática muito importante para internalizarmos o conteúdo.

Vou citar algumas melhorias que podem ser feitas para torná-lo mais robusto e legível:

Mantenha a consistência na nomenclatura das variáveis.

Por exemplo, você usa "valordDepsoito" em vez de "valorDeposito", "faturaCaratao " em vez de "faturaCartao", melhore a escrita da variáveis para melhor entendimento e para facilitar a codificação.

Utilize métodos:

Separe as operações em métodos (funções) distintos para tornar o código mais organizado e modular. Por exemplo, um método para consultar saldo, outro para depositar, outro para sacar, etc. Ex:

switch (opcao) {
                case 1:
                    consultarSaldo(saldoBancario);
                    break;
                    
.
.
.
}

//No final do arquivo
private static void consultarSaldo(double saldo) {
        System.out.println("Seu saldo atual é: " + saldo);
}

Melhore a validação do saque:

Atualmente, você está usando "if (valoraSaque > saldoBancario || true)" que sempre será verdadeiro. Você pode remover o "|| true" e simplificar a lógica.

Caso tenha ficado alguma dúvida em relação ao curso ou atividade, sinta-se à vontade em comunicar, estou à disposição e ficarei super feliz em poder ajudar!

Um forte abraço e bons estudos!