1
resposta

Desafio final - Switch Case [funcionalidades divididas em métodos]

import java.util.Scanner;

public class Desafio01 {
    Scanner sc = new Scanner(System.in);
    String nome;
    String tipoDaConta;
    double meuDinheiro;
    int operacao = 0;

    public void inicializarOsDados() {
        System.out.print("Digite seu nome: ");
        nome = sc.nextLine().toUpperCase();

        System.out.print("Informe o tipo da sua conta (Corrente ou Poupança): ");
        tipoDaConta = sc.nextLine().toUpperCase();
        if(!tipoDaConta.equals("CORRENTE") && !tipoDaConta.equals("POUPANÇA")){
            System.out.println("Opção inválida! Comece de novo.\n");
            inicializarOsDados();
        } else {
            System.out.print("Digite o quantidade de dinheiro você tem: ");
            meuDinheiro = sc.nextDouble();
        }
    }

    public void exibirDados(){
        System.out.println("""
                \n*****************************************
                Dados iniciais do cliente:

                Nome:               %s
                Tipo da conta:      %s
                Saldo inicial:      R$ %.2f
                *****************************************
                """.formatted(nome, tipoDaConta, meuDinheiro));
    }

    public void menu() {
        System.out.println("1 - Consultar saldos");
        System.out.println("2 - Recebe Valor");
        System.out.println("3 - Transferir Valor");
        System.out.println("4 - sair");

        System.out.print("\nDigite a opção desejada: ");
        operacao = sc.nextInt();

        switch (operacao) {
            case 1:
                consultaSaldo();
                break;
            case 2:
                recebeValor();
                break;
            case 3:
                transfereValor();
                break;
            case 4:
                break;
            default:
                System.out.println("Opção inválida!\n");
        }
    }

    public void consultaSaldo(){
        System.out.println("\nSeu saldo atual é R$ %.2f\n".formatted(meuDinheiro));
    }

    public void recebeValor() {
        System.out.print("\nDigite o valor que você irá depositar: \n");
        double valor = sc.nextDouble();
        meuDinheiro += valor;
        consultaSaldo();
    }

    public void transfereValor(){
        System.out.print("\nDigite o valor que você deseja transferir: \n");
        double valor = sc.nextDouble();
        if (valor > meuDinheiro){
            System.out.println("Não há saldo para realizar a transferência.\n");
        } else {
            meuDinheiro -= valor;
            consultaSaldo();
        }
    }

    public static void main(String[] args) {
        Desafio01 funcionalidades = new Desafio01();

        funcionalidades.inicializarOsDados();
        funcionalidades.exibirDados();

        while (funcionalidades.operacao != 4){
            funcionalidades.menu();
        }
    }
}
1 resposta

Fala Matheus, de boa ?

Cara teu código tá super organizado! Tá bem fácil de ler também, acho que tu tem tudo para conseguir fazer diversos sistemas maneiros!

Conte conosco pro que precisar nessa jornada!