Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Minha resolução

Minha resolução! Aceito sugestões de como poderia ter deixado-a mais enxuta.

Olhando agora percebo que poderia ter deixado o código mais flexível transformando todos os dados do cliente em atributos :p

import java.util.Scanner;

public class DesafioBanco {
    public static void main(String[] args) {
        Scanner leitura = new Scanner(System.in);
        double saldo = 2500;
        System.out.println("""
                ******************************
                Nome: André Humberto
                Tipo de conta: Corrente
                Saldo inicial: R$ %.2f
                ******************************""".formatted(saldo));
        int opcaoSelecionada = 0;

        while (opcaoSelecionada != 4) {
            System.out.println("""
                                    
                    Escolha uma operação:
                                    
                    1 - Consultar saldo
                    2 - Receber transferência
                    3 - Realizar trasnfêrencia
                    4 - Sair
                    """);
            opcaoSelecionada = leitura.nextInt();

            switch (opcaoSelecionada) {
                case 1:
                    System.out.println("Seu saldo é: R$ " + saldo);
                    break;
                case 2:
                    System.out.println("Quanto você irá depositar/receber?");
                    saldo += leitura.nextDouble();
                    System.out.println("Valor recebido com sucesso! Saldo atualizado: R$ " + saldo);
                    break;
                case 3:
                    System.out.println("Quanto você irá transferir?");
                    double valorTransferencia = leitura.nextDouble();
                    if (valorTransferencia > saldo){
                        System.out.println("Saldo insuficiente! Não foi possível realizar a transferência.");
                        break;
                    } else{
                        saldo -= valorTransferencia;
                        System.out.println("Transferêcia realizada com sucesso! Saldo atualizado: R$ " + saldo);
                        break;
                    }
                case 4:
                    System.out.println("Operação finalizada!");
                    opcaoSelecionada = 4;
                    break;
                default:
                    System.out.println("Opção inválida! Por favor, selecione uma das opções abaixo:");
            }
        }
    }
}
1 resposta
solução!

Oi André,

Parabéns pela iniciativa de compartilhar seu código e buscar melhorias! 👍

Sua observação sobre transformar os dados do cliente em atributos é excelente para aumentar a flexibilidade e organização do código. 💪

Uma sugestão para deixar seu código mais enxuto e flexível é criar uma classe Cliente para encapsular os dados do cliente (nome, tipo de conta, saldo) e uma classe Conta para as operações bancárias.

Isso permite que você adicione mais clientes e contas facilmente no futuro, além de tornar o código mais legível e modular. 💻

Por exemplo, você poderia ter algo como:

class Cliente {
    String nome;
    String tipoConta;
    double saldo;

    public Cliente(String nome, String tipoConta, double saldoInicial) {
        this.nome = nome;
        this.tipoConta = tipoConta;
        this.saldo = saldoInicial;
    }
}

class Conta {
    Cliente cliente;

    public Conta(Cliente cliente) {
        this.cliente = cliente;
    }

    public void consultarSaldo() {
        System.out.println("Seu saldo é: R$ " + cliente.saldo);
    }

    public void receberTransferencia(double valor) {
        cliente.saldo += valor;
        System.out.println("Valor recebido com sucesso! Saldo atualizado: R$ " + cliente.saldo);
    }

    public void realizarTransferencia(double valor) {
        if (valor > cliente.saldo) {
            System.out.println("Saldo insuficiente! Não foi possível realizar a transferência.");
        } else {
            cliente.saldo -= valor;
            System.out.println("Transferência realizada com sucesso! Saldo atualizado: R$ " + cliente.saldo);
        }
    }
}

E na sua classe DesafioBanco, você criaria um objeto Cliente e um objeto Conta para interagir com eles.

Para saber mais: Documentação oficial do Java sobre classes e objetos.

Continue praticando e explorando novas formas de aprimorar seu código! 💯