1
resposta

Desafio final

Esse foi o meio que utilizei para fazer o desafio. Optei por deixar o programa o mais interativo possível, utilizei o switch e agrupei todas as variáveis utilizadas no começo do código. Gostaria de saber se fiz algo que não é considerado boas práticas de programação.

import java.util.Scanner;

public class BankSystem {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);// Scanner start
        // Inicio da lista de variáveis
        System.out.println("\nPor favor nos diga seu nome");
        String nomeCliente = scanner.nextLine();
        System.out.println("\nPor favor nos diga o tipo da sua conta");
        String tipoConta = scanner.nextLine();
        Double saldo = 0.0;
        Double saldoRecebe = 0.0;
        Double saldoEnvia = 0.0;
        int opcao = 0;
        boolean systemRun = true;
        String menu = """
                **Digete a opção desejada**

                1 - Consultar seu Saldo
                2 - Realizar transferência
                3 - Receber transferência
                4 - Sair
                """;
        // Fim da lista de variáveis
        System.out.println("""
                ***************************************************************

                Olá %s! Seja bem vindo a sua %s.
                Seu saldo é de:%.2f

                ***************************************************************
                """.formatted(nomeCliente, tipoConta, saldo));

        while (systemRun) {
            System.out.println(menu);
            opcao = scanner.nextInt();
            switch (opcao) {
                case 1: // Função que exibe o saldo
                    System.out.println("\nSeu saldo é de:" + saldo);
                    break;

                case 2: // Função de transferência
                    System.out.println("\nQuanto gostaria de transferir?");
                    saldoEnvia = scanner.nextDouble();

                    if (saldoEnvia <= saldo) {
                        saldo -= saldoEnvia;
                    } else {
                        System.out.println("\nSeu saldo é insulficiente para realizar a transação.");
                    }
                    break;

                case 3: // Função de receber valores
                    System.out.println("\nQuanto você está recebendo?");
                    saldoRecebe = scanner.nextDouble();
                    saldo += saldoRecebe;
                    break;

                case 4: // Função para sair
                    System.out.println("\nObrigado por utilizar nosso sitema! Tenha um ótimo dia!");
                    systemRun = false;
                    break;

                default: // função para opção inválida
                    systemRun = false;
                    System.out.println("\nComando invalido, aplicação encerada");
                    break;
            }

        }
        scanner.close(); // Fechamento do scanner para evitar vazamentos de dados

    }
}

Grato e bons estudos a todos!!!

1 resposta

Olá, Wagner! Tudo bem?

Primeiramente, parabéns por concluir o desafio! É sempre bom buscar a interatividade em um programa e utilizar as estruturas adequadas para isso, como você fez ao utilizar o switch para o menu de opções.

Em relação às boas práticas de programação, tenho algumas sugestões para você:

  1. Organização das variáveis: É recomendado que as variáveis sejam declaradas próximas ao seu primeiro uso. No seu caso, você agrupou todas as variáveis no início do código. Seria interessante declarar cada variável próximo do local onde ela é utilizada, para facilitar a leitura e entendimento do código.

  2. Nomenclatura de variáveis: É importante utilizar nomes de variáveis que sejam descritivos e que sigam uma convenção. Por exemplo, em vez de "saldoRecebe" e "saldoEnvia", você poderia utilizar "valorTransferencia" e "valorRecebido", respectivamente. Isso torna o código mais legível e compreensível.

  3. Tratamento de erros: No caso da opção 2, em que é realizada uma transferência, seria interessante adicionar um tratamento para o caso de o saldo ser insuficiente. Você poderia exibir uma mensagem de erro ao usuário, informando que o saldo é insuficiente para realizar a transação.

  4. Fechamento do Scanner: Você já está fechando o Scanner no final do código, o que é uma boa prática. Isso evita possíveis vazamentos de dados.

No geral, seu código está bem estruturado e funcional. Com as sugestões acima, você pode deixá-lo ainda melhor.

Espero ter ajudado e bons estudos!