1
resposta

Desafio Conta Corrente

Inventei um cheque especial que nao existia, gostaram? ;)
No que eu posso melhorar?

void main() {

    double saldo = 2500;
    String tipoConta = "Cliente Especial";
    int opcao = 0;
    Scanner leitura = new Scanner(System.in);

    while (opcao != 5) {
        System.out.printf("""
            
            ***********************
            Nome: Joãozinho da Silva
            Tipo conta: %s
            Saldo atual: R$ %.2f
            ***********************
            """, tipoConta, saldo);

        System.out.println("""
         
                Operações
                1- Consultar saldo
                2- Receber valor
                3- Retirar valor
                4- Alterar o tipo de conta
                5- Sair
                """);

        System.out.println("ESCOLHA UMA OPÇÃO:");
        opcao = leitura.nextInt();

        switch (opcao) {
            case 1:
                System.out.printf("Seu SALDO é de R$%.2f %n", saldo);
                break;
            case 2:
                System.out.println("Digite o valor recebido: ");
                double recebido = leitura.nextDouble();
                saldo += recebido;
                System.out.printf("R$%.2f foram adicionados a sua conta.", recebido);
                break;
            case 3:
                System.out.println("Digite o valor retirado: ");
                double retirado = leitura.nextDouble();

                if (retirado <= saldo) {
                    saldo -= retirado;
                    System.out.printf("R$%.2f foram retirados a sua conta.%n", retirado);
                } else {
                    if (tipoConta.equals("Conta Corrente")) {
                        System.out.println("Cliente SEM ACESSO ao cheque especial");
                    } else {
                        if (saldo - retirado >= -500) {
                            saldo -= retirado;
                            System.out.printf("R$%.2f foram retirados a sua conta.%n", retirado);
                            System.out.printf("Seu saldo está negativo em R$%.2f.%n", saldo * -1);
                        } else {
                            System.out.println("Esta retirada ultrapassa seu limite de cheque especial.");
                        }
                    }
                }
                break;
            case 4:
                if (tipoConta.equals("Cliente Especial") && saldo < 0) {
                    System.out.printf("Seu saldo está negativo em R$%.2f.%n", saldo * -1);
                    System.out.println("Seu tipo de conta são pode ser alterado enquanto o saldo for negativo");
                } else {
                    if (tipoConta.equals("Conta Corrente")) {
                        System.out.println("você possui uma CONTA CORRENTE.");
                        System.out.println("Deseja alterar seu tipo de conta para CLIENTE ESPECIAL?");
                        System.out.println("1) SIM");
                        System.out.println("2) NÃO");
                        int trocaConta = leitura.nextInt();
                        switch (trocaConta) {
                            case 1:
                                tipoConta = "Cliente Especial";
                                System.out.println("Conta Alterada com Sucesso");
                                break;
                            case 2:
                                System.out.println("Sua conta não foi alterada.");
                                break;
                            default:
                                System.out.println("Opção inválida!");
                        }
                    } else {
                        System.out.println("você possui uma conta de CLIENTE ESPECIAL.");
                        System.out.println("Deseja alterar seu tipo de conta para CONTA CORRENTE?");
                        System.out.println("1) SIM");
                        System.out.println("2) NÃO");
                        int trocaConta = leitura.nextInt();
                        switch (trocaConta) {
                            case 1:
                                tipoConta = "Conta Corrente";
                                System.out.println("Conta Alterada com Sucesso");
                                break;
                            case 2:
                                System.out.println("Sua conta não foi alterada.");
                                break;
                            default:
                                System.out.println("Opção inválida!");
                        }
                    }
                }
                break;
            case 5:
                System.out.println("Até logo! :D");
                break;
            default:
                System.out.println("OPÇÃO INVÁLIDA");
        }
    }
}

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Oi, Nicholas! Como vai?

Seu código está bem feito! Você seguiu todas as instruções do desafio corretamente e executou tudo com precisão.

Mantenha esse ótimo ritmo e, sempre que surgir uma dúvida, sinta-se à vontade para perguntar.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!