1
resposta

Minha tentativa.

import java.util.Scanner;

public class Conta {
    public static void main(String[] args) {
        Scanner leitura = new Scanner(System.in);
        // Declarando variaveis:
        String nome;
        int tipo = 0;
        int opcao = 0;
        double saldo = 0;
        double deposita = 0;
        double sacar = 0;
        String conta = "0";
        String conta1 = "";
        //Metodos
        System.out.println("************************************");
        System.out.println("Informe o seu nome:");
        nome = leitura.nextLine();
        System.out.println("Informe o tipo de Conta:\n1-Conta Corrente.\n2-Conta Poupanca.");
        tipo = leitura.nextInt();
        if (tipo == 1){
             conta1 += "Conta Corrente.";
        } else{
            conta1 += "Conta Poupança";
        }



        System.out.printf("Olá %s seja bem vindo(a) ao nosso banco! ",nome);

        while (opcao != 4){
            if(tipo < 1 || tipo > 4){
                System.out.println("Digite um valor entre 1 e 4");
                tipo = leitura.nextInt();
            }

            System.out.println("Escolha a opção desejada:\n1-Consultar Saldo.\n2-Depositar.\n3-Sacar.\n4-Sair.");
            opcao = leitura.nextInt();
            switch (opcao){
                case 1:
                    System.out.println("***********************");
                    System.out.println("Consulta de saldo:");

                    System.out.println("Seu saldo atual: "+ saldo);
                    break;
                case 2:
                    System.out.println("************************");
                    System.out.println("Receber Valor");

                    System.out.println("Informe o valor do deposito:");
                    deposita = leitura.nextDouble();
                    saldo += deposita;
                    break;
                case 3:
                    System.out.println("***********************");
                    System.out.println("Tranferir Valor");
                    System.out.println("Informe o valor do saque:");
                    sacar = leitura.nextDouble();

                    if(sacar > saldo){
                        System.out.println("Saldo insuficiente!");
                    } else {
                        System.out.println("****************************");
                        System.out.println("Saque realizado com sucesso.");
                        saldo -= sacar;
                    }


                default:
                    System.out.println("Obrigado!");
                    break;

            }


        }
        System.out.println("*********************************************************");
        System.out.println("Ficha Cadastral");
        System.out.printf("Nome do cliente:\n %s\nTipo de Conta: %s\nSaldo: %.2f",nome,conta1,saldo);


    }
}
1 resposta

Gostei bastante do seu código! Achei bem organizado e fácil de entender.

Acredito que melhoria se você criasse métodos para falar o que cada operação faz, dessa forma quem for ler o código já vai matar o que cada opção faz antes mesmo de precisar ver o código

Outro detalhe, que pode ajudar, é você usar constantes para tentar guiar teu código, por exemplo o switch é de inteiros, mas a pessoa, ainda que você crie o método de cada operação, vai precisar entender cada ação para saber do qual é ela, nesse caso, se tu criar constantes ficaria mais fácil de entender o código, segue exemplo:


public class ContaBancaria {

private static int CONSULTA_SALDO = 1;
private static int DEPOSITO = 2;
private static int TRANSFERENCIA = 3;
private static int SAIR = 4;


    public static void main(String[] args) {
        Locale.setDefault(Locale.US);
        Scanner sc = new Scanner(System.in);

        String nomeCliente, tipoConta;
        double saldo, credito, debito;
        int operacoes = 0;

        coletaDadosIniciais();

        while(operacoes != SAIR) {
            exibeMenu();
            switch (operacoes) {
            case CONSULTA_SALDO: {
                exibeSaldo();
                break;
            }
            case DEPOSITO: {
                 realizaDeposito();
                break;
            }
            case TRANSFERENCIA: {
                realizaTransferencia();
                break;
            }
            default:
                mensagemOperacaoInvalida();
                break;
            }
        }
        sc.close();
    }

}

Fora isso, parabéns pelo código! Espero ter ajudado e bons estudos!

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