1
resposta

[Projeto] Solução do Desafio Bancário

import java.util.Scanner;

public class Desafio {
    public static void main(String[] args) {

        String nome  = "Dávyds Farias";
        String tipoConta = "Conta corrente";
        double saldoConta = 2003.90;
        int opcao = 0;

        System.out.println("------ Dados do cliente ------");
        System.out.println("\nNome do cliente: " + nome);
        System.out.println("Tipo de conta: " + tipoConta);
        System.out.println("Saldo atual: R$ " + saldoConta);
        System.out.println("\n------------------------------");

        String menu = """
                
                -- Escolha uma opção --
                1. Consultar saldo
                2. Depositar valor
                3. Sacar valor
                4. Sair
                
                """;

        Scanner leitor = new Scanner(System.in);
        do{
            System.out.println(menu);
            if(leitor.hasNextInt()){
                opcao = leitor.nextInt();
            }else{
                System.out.println("Entrada inválida. Por favor, digite um número.");
                leitor.next();
                continue;
            }

            switch (opcao){
                case 1:
                    System.out.printf("Saldo atual: R$ " + saldoConta);
                    break;
                case 2:
                    System.out.println("Valor a ser depositado: R$ ");
                    double valorDeposito = leitor.nextDouble();
                    if(valorDeposito > 0){
                        saldoConta += valorDeposito;
                        System.out.println("Saldo atualizado: R$ " + saldoConta);
                    }else {
                        System.out.println("Valor inválido para depósito.");
                    }
                    break;
                case 3:
                    System.out.println("Digite o valor para saque: R$ ");
                    double valorSaque = leitor.nextDouble();
                    if(valorSaque > saldoConta){
                        System.out.println("Não é possível realizar saque. Saldo insuficiente.");
                    }else if(valorSaque <= 0){
                        System.out.println("Valor inválido para saque.");
                    }else {
                        saldoConta -= valorSaque;
                        System.out.println("Saque concluída.");
                    }
                    break;
                case 4:
                    System.out.println("Saindo do sistema. Obrigado!");
                    break;
                default:
                    System.out.println("Opção inválida. Tente novamente.");
                    break;
            }
        }while(opcao != 4);
        leitor.close();
    }
}
1 resposta

Oi, Dávyds! Como vai?

Com o que você descreveu, seu menu ficou organizado e a validação de entrada usando hasNextInt ficou bem clara. A lógica das operações bancárias também segue um fluxo direto e fácil de acompanhar.

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