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

[DÚVIDA] Desafio Final

Boa tarde,

estou aqui para elogiar a didática e atenção dos professores em ensinar, simplesmente incrível, você sente vontade de aprender cada vez mais.

Uma sugestão que tenho sobre o desafio final é: para deixar mais realista , não deixar que o usuário coloque valor negativo na opção de transferência ou de receber valor, por exemplo;

import java.util.Scanner;
import java.util.SplittableRandom;

public class Desafio {
    public static void main(String[] args) {
        Scanner leitor = new Scanner(System.in);
        String nome = "Wallison Alcântara";
        String tipoDeConta = "Corrente";
        double saldo = 5000;

        String mensagemInicial = """
                *********************************************
                Dados inicias do cliente:
                
                Nome: %s
                Tipo: %s
                Saldo inicial: R$ %.2f
                
                *********************************************
                """.formatted(nome,tipoDeConta,saldo);
        System.out.println(mensagemInicial);

        while (true){
            String alerta = """
                    Operações
                    
                    1 - Consultar saldo
                    2 - Receber valor
                    3 - Transferir valor
                    4 - Sair
                    
                    Digite a opção desejada:
                    """;
            System.out.println(alerta);

            int opcao = leitor.nextInt();

            if(opcao == 1){
                System.out.println(String.format("Saldo atual: R$%.2f",saldo));
            } else if (opcao == 2){
                System.out.println("Informe o valor a receber:");
                double valorReceber = leitor.nextDouble();
                if(valorReceber >0) {
                    saldo += valorReceber;
                    System.out.println(String.format("Saldo atualizado: R$%.2f", saldo));
                } else{
                    System.out.println("Não é possível receber valor 0 ou menor que 0");
                }
            } else if (opcao == 3) {
                System.out.println("Informe o valor a transferir");
                double valorTransferido = leitor.nextDouble();
                if (valorTransferido > saldo){
                    System.out.println(String.format("Você não possui saldo suficiente para transferir R$%.2f, seu saldo atual é R$%.2f",valorTransferido,saldo));
                } else if(valorTransferido <= 0){
                    System.out.println("Não é possível transferir valor 0 ou menor que 0");
                } else {
                    saldo -= valorTransferido;
                    System.out.println(String.format("Saldo atualizado: R$%.2f", saldo));
                }
            } else if (opcao == 4) {
                break;
            } else {
                System.out.println("Não foi possível localizar opção digitada.");
            }
        }
        System.out.println("Fim do programa!");
    }

}

no meu código coloquei para validação em saldos menor que 0 ou 0, para que não ocorra operações indevidas.

Só estou comentando isso com intenção que ajude novos programadores a já começarem programar pensando "e se o usuário fizer isso?" kkkkkkkkkkkk.

Enfim, novamente, obrigado pelas aulas, estou adorando cada minuto e cada atividade.

1 resposta
solução!

Oi Wallison, tudo bem?

Fico muito feliz em saber que você está aproveitando as aulas e se dedicando aos desafios propostos. O seu entusiasmo e a sua sugestão são valiosos. É realmente importante considerar cenários em que o usuário possa inserir dados inválidos ou realizar operações indevidas, como você mencionou. Isso contribui para a robustez e a segurança do programa.

Sua iniciativa de implementar verificações e mensagens de erro para operações inválidas mostra uma compreensão sólida dos princípios de programação defensiva. É um bom hábito antecipar possíveis problemas e fornecer feedback claro ao usuário.

Continue praticando, enfrentando desafios e explorando novos conceitos.

Um abraço e bons estudos.