Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Projeto] [Projeto] Desafio Conta Bancária (Java)

import java.util.Scanner;

public class Desafio {
public static void main(String[] args) {
Scanner leitor = new Scanner(System.in);
String nome = "Nicolas de castro";
String conta = "Corrente";
double saldo = 2500;
double adicionar_saldo;
double reduzir_saldo;

    System.out.println("*******************************");
    System.out.println("Nome: " + nome);
    System.out.println("Conta: " + conta);
    System.out.println("Saldo: " + saldo);
    System.out.println("*******************************");

    System.out.println();

    System.out.println("Operações ");
    System.out.println("""
            
            1 - Consultar Saldos
            2 - Receber Valor
            3 - Transferir Valor
            4 - Sair""");

    int operacao = leitor.nextInt();

    while (operacao != 4){

        if(operacao == 1){
            System.out.println("Saldo atual: R$" + saldo);
        }
        if(operacao == 2){
            System.out.println("Quanto deseja receber: ");
            adicionar_saldo = leitor.nextDouble();
            saldo += adicionar_saldo;
            System.out.println("Saldo atual: R$" + saldo);
        }
        if(operacao == 3){
            System.out.println("Quanto deseja transferir: ");
            reduzir_saldo = leitor.nextDouble();

            if(reduzir_saldo > saldo){
                System.out.println("Saldo insuficiente");
            }else saldo -= reduzir_saldo;
            System.out.println("Saldo atual: R$" + saldo);


        }
        System.out.println("Operações ");
        System.out.println("""
            
            1 - Consultar Saldos
            2 - Receber Valor
            3 - Transferir Valor
            4 - Sair""");

        operacao = leitor.nextInt();
    }
    System.out.println("Obrigado, volte sempre!");
}

}

3 respostas

Fiquei em duvida se utilizaria o Switch Case, ou apenas if mesmo, acabei optando por deixar todos os if separados para poder ter um controle mais fácil visualmente e lógico.

solução!

Oi, tudo bem?

Parabéns pela conclusão do desafio, Nicolas. É um ótimo exercício pra praticar a lógica de repetição e o controle de fluxo em Java.

Sobre a sua dúvida entre usar if-else ou switch-case, ambos funcionam perfeitamente para esse cenário, mas existem alguns pontos interessantes para observar na sua escolha:

Uso de IFs Separados

Na sua implementação, você utilizou blocos if independentes. Embora funcione, o computador precisa testar todas as condições, mesmo que a primeira já tenha sido verdadeira.

Se você digitar "1", o código verifica se é 1, executa a ação, e depois ainda verifica se é 2 e se é 3. Para pequenos sistemas isso não causa problemas, mas em programas maiores, o uso de else if ajuda a evitar verificações desnecessárias.

Uso de Switch Case

O switch costuma ser lido com mais facilidade quando temos uma variável que pode assumir vários valores constantes (como o seu menu de 1 a 4). Ele direciona o fluxo diretamente para a opção escolhida.

Pontos positivos do seu código:

  • Validação de saldo: Você incluiu a verificação if(reduzir_saldo > saldo), o que evita que a conta fique negativa sem autorização.
  • Interface limpa: O uso de blocos de texto (""") para o menu deixa o console organizado.
  • Saída amigável: A mensagem de despedida fora do laço while encerra bem a experiência.
Conteúdos relacionados
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

Oi, Nicolas!

Concordo totalmente com a Lorena, tanto na qualide do seu código quanto nas dicas. Continue assim!

Bons estudos!

Sucesso