1
resposta

Minha solução para o desafio

import java.util.Scanner;

public class ContaBancaria {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        System.out.println("Realizando cadastro: ");
        System.out.print("Nome: ");
        String nome = scanner.nextLine();
        System.out.print("Deposite um valor inicial: ");
        double saldo = scanner.nextDouble();
        System.out.println();
        
        System.out.println("********************************************");
        System.out.println("Dados bancários do cliente: ");
        System.out.println();
        System.out.println("Nome:               " + nome);
        System.out.println("Tipo conta:         Corrente" );
        System.out.println("Saldo inicial:      " + saldo);
        System.out.println("********************************************");
        System.out.println();
        
        int opcoes = 0;
        
        while(opcoes != 4) {
            System.out.println("""
                    Operações:
                    1 - Visualizar saldo
                    2 - Depositar
                    3 - Sacar
                    4 - Sair
                    """);
            
            System.out.print("Digite a opção desejada: ");
            opcoes = scanner.nextInt();
            
            switch (opcoes) {
            case 1:
                System.out.println("Saldo atual: R$" + saldo);
                System.out.println();
                break;
                
            case 2:
                System.out.print("Valor para depositar: ");
                double valorDepositar = scanner.nextDouble();
                if (valorDepositar < 0) {
                    System.out.println("Não é permitido depositar valores negativos");
                    System.out.println();
                } else {
                    saldo += valorDepositar;
                    System.out.println("Saldo atualizado, valor atual: R$" + saldo);
                    System.out.println();
                }
                break;
                
            case 3:
                System.out.print("Valor para sacar: ");
                double valorSacar = scanner.nextDouble();
                if (valorSacar > saldo) {
                    System.out.println("Saldo insuficiente para sacar");
                    System.out.println();
                } else if (valorSacar < 0) {
                    System.out.println("Não é permitido sacar valores negativos");
                    System.out.println();
                } else {
                    saldo -= valorSacar;
                    System.out.println("Saldo atualizado, valor atual: R$" + saldo);
                    System.out.println();
                }
                break;
                
            case 4:
                System.out.println("Volte sempre");
                break;
                
            default:
                System.out.println("Opção inválida");
                break;
            }
        }
    }
}
1 resposta

Olá, Henri!

Pelo que vejo, você fez um ótimo trabalho na implementação do desafio proposto! Seu código está bem estruturado e organizado, e você conseguiu implementar todas as funcionalidades solicitadas no enunciado do desafio.

Aqui estão algumas sugestões que você pode considerar para melhorar ainda mais o seu código:

  1. Encapsulamento: Você pode considerar criar métodos separados para cada operação (visualizar saldo, depositar, sacar). Isso tornará seu código mais modular e fácil de manter. Por exemplo:
public void visualizarSaldo() {
    System.out.println("Saldo atual: R$" + saldo);
    System.out.println();
}

public void depositar() {
    System.out.print("Valor para depositar: ");
    double valorDepositar = scanner.nextDouble();
    // restante do código
}

public void sacar() {
    System.out.print("Valor para sacar: ");
    double valorSacar = scanner.nextDouble();
    // restante do código
}
  1. Validação de entrada: Você fez um ótimo trabalho ao verificar se o valor a ser depositado ou sacado é negativo. No entanto, você pode considerar adicionar mais validações. Por exemplo, você pode verificar se o valor a ser depositado ou sacado é um número válido.

  2. Melhorar a experiência do usuário: Você pode considerar melhorar a experiência do usuário adicionando mensagens mais amigáveis. Por exemplo, em vez de simplesmente dizer "Opção inválida", você pode dizer "Desculpe, a opção que você digitou é inválida. Por favor, tente novamente."

Espero que essas sugestões sejam úteis para você. Continue com o excelente trabalho e continue aprimorando suas habilidades de programação. Espero ter ajudado e bons estudos!