1
resposta

[Projeto] Desáfio Operações bancarias

package Desafios.lacosRepeticao_Condicionais;

import java.util.Scanner;

public class Banco {
    public static void main(String[] args) {
        double saldoAtual, valorEntrada, valorSaida;
        saldoAtual = 2500.55;
        valorEntrada = 0;
        valorSaida = 0;
        int op = 0;
        Scanner leitor = new Scanner(System.in);
        String nome = "Matheus Arnou";
        String tipoConta = "Corrente";


        do {
            String textoMenu = """
                    ************************
                    Dados iniciais do cliente:
                    
                    Nome: %s
                    Tipo de conta: %s
                    Saldo R$ %.2f
                    
                    ************************
                    
                    Opções:
                    1. Consultar saldo
                    2. Receber valor
                    3. Transferir
                    4. Sair
                    """.formatted(nome, tipoConta, saldoAtual);
            System.out.println(textoMenu);
            System.out.println("Digite a opção desejava");
            op = leitor.nextInt();

            switch (op) {
                case 1:
                    System.out.println("\n[CONSULTA] Seu saldo atual é de R$ " + saldoAtual);
                    break;

                case 2:
                    System.out.print("\n[RECEBIMENTO] Ok, digite o valor a ser recebido R$: ");
                    valorEntrada = leitor.nextDouble();
                    if (valorEntrada > 0) {
                        saldoAtual += valorEntrada;
                        System.out.println("Recebimento de R$ " + valorEntrada + " realizado. Novo saldo: R$ " + saldoAtual);
                    } else {
                        System.out.println("Valor de recebimento inválido.");
                    }
                    break;

                case 3:
                    System.out.print("\n[TRANSFERÊNCIA] Ok, digite o valor do saque R$: ");
                    valorSaida = leitor.nextDouble();

                    // CORREÇÃO DE VALIDAÇÃO: Verifica ANTES de sacar
                    if (valorSaida > saldoAtual) {
                        System.out.println(">>> Operação inválida: Seu saldo é menor que o valor solicitado! Tente novamente.");
                    } else if (valorSaida < 0) {
                        System.out.println("Valor de saque inválido.");
                    } else {
                        saldoAtual -= valorSaida;
                        System.out.println("Saque de R$ " + valorSaida + " realizado. Novo saldo: R$ " + saldoAtual);
                    }
                    break;

                case 4:
                    System.out.println("\n[SAIR] Ok, encerrando o programa. Obrigado!");
                    break;

                default:
                    System.out.println("\n[ERRO] Opção inválida. Tente novamente.");
                    break;
            }
            System.out.println("\n****************************************\n");

        } while (op != 4); // Repete até a opção ser igual a 4.
    }
}

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Olá, Matheus, como vai?

Seu código está muito bem estruturado e cumpre com eficiência todas as operações bancárias propostas no desafio. O uso do switch em vez de múltiplos blocos if/else deixou a leitura mais clara e a lógica bem organizada, o que é uma boa prática. Também é interessante a forma como você utilizou as mensagens para orientar o usuário durante a execução, tornando o programa mais interativo e amigável.

Um ponto positivo é a validação que você implementou antes da transferência. Isso evita que o saldo fique negativo, garantindo o comportamento esperado da aplicação.

Continue compartilhando seus códigos no fórum. O fórum está à disposição sempre que quiser trocar ideias ou aprimorar seus projetos.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!