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!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software