Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Programando em Java ☺

Antes de consultar os vídeos que virão a seguir e tentei fazer o meu código autonomamente e ficou asssim:

import java.util.Scanner;

public class BancoVirtual {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Bem-vindo ao BancoVirtual!");
        double saldo = 4500;
        int numero = 0;
        String inicio = """
                
                Faça login para prosseguir
                """;
        boolean loginRealizado = false;
        while (!loginRealizado){
            System.out.println(inicio);
            System.out.println("Informe o email");
            String emailDoUser = sc.nextLine();
            if (emailDoUser.equals("usuario@email.com")){
                System.out.println("Informe o CPF");
                String cpfDoUser = sc.nextLine();
                if (cpfDoUser.equals("11122233344")){
                    System.out.println("Informe a senha");
                    String senhaDoUser = sc.nextLine();
                    if (senhaDoUser.equals("123456")){
                        System.out.println("Parabéns! Login Realizado");
                        loginRealizado = true;
                    }
                    else {
                        System.out.println("Esta senha é inválida!");
                    }
                }
                else {
                    System.out.println("Este CPF é inválido!");
                }
            }
            else {
                System.out.println("Este email é inválido!");
            }
        }
        while (numero != 4){
            String mensagem = """
                Como podemos te ajudar?
                Saldo: R$%.2f
                
                1.Saque
                2.Transferência
                3.Deposito
                4.Sair""".formatted(saldo);
            System.out.println(mensagem);
            numero = sc.nextInt();
            switch (numero){
                case 1:{
                    System.out.println("Quanto você deseja sacar?");
                    double saque = sc.nextDouble();
                    if (saque > saldo){
                        System.out.println("Valor inválido!");
                        break;
                    }
                    else {
                        saldo -= saque;
                        System.out.println("Saque realizado no valor de R$" + saque);
                        break;
                    }
                }

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
2 respostas

O código não coube na resposta que enviei, então dividi o código.
Segue a continuação

                case 2:{
                    String tranferenciaMensagem = """
                            Para quem você deseja transferir
                            
                            1.Usuario1
                            2.Usuario2
                            3.Usuario3
                            4.Sair do menu de transferência""";
                    System.out.println(tranferenciaMensagem);
                    int quem = 0;
                    while (quem != 4){
                        quem = sc.nextInt();
                        switch (quem){
                            case 1:{
                                System.out.println("Quanto Você deseja transferir?");
                                double transferencia = sc.nextDouble();
                                if (transferencia > saldo){
                                    System.out.println("Valor inválido!");
                                }
                                else {
                                    System.out.println(String.format("O valor de R$%.2f foi transferido para Usuario1", transferencia));
                                    saldo -= transferencia;
                                }
                                quem = 4;
                                break;
                            }
                            case 2:{
                                System.out.println("Quanto Você deseja transferir?");
                                double transferencia = sc.nextDouble();
                                if (transferencia > saldo){
                                    System.out.println("Valor inválido!");
                                }
                                else {
                                    System.out.println(String.format("O valor de R$%.2f foi transferido para Usuario2", transferencia));
                                    saldo -= transferencia;
                                }
                                quem = 4;
                                break;
                            }
                            case 3:{
                                System.out.println("Quanto Você deseja transferir?");
                                double transferencia = sc.nextDouble();
                                if (transferencia > saldo){
                                    System.out.println("Valor inválido!");
                                }
                                else {
                                    System.out.println(String.format("O valor de R$%.2f foi transferido para Usuario3", transferencia));
                                    saldo -= transferencia;
                                }
                                quem = 4;
                                break;
                            }
                            case 4:{
                                System.out.println("Voltando para o menu principal...");
                                break;
                            }
                            default:{
                                System.out.println("Valor inválido");
                                quem = 4;
                                break;
                            }
                        }
                    }
                    break;
                }
                case 3:{
                    System.out.println("Quanto deseja depositar?");
                    double deposito = sc.nextDouble();
                    System.out.println(String.format("O valor de R$%.2f foi adicionado ao seu saldo", deposito));
                    saldo += deposito;
                    break;
                }
                case 4:{
                    System.out.println("Obrigado por usar o Banco Virtual!");
                    break;
                }
                default:{
                    System.out.println("Valor inválido!");
                    break;
                }
            }
        }

    }
}
solução!

Olá, Nicollas! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de estruturas condicionais para validar o login do usuário, utilizou muito bem o switch para organizar as opções do menu e ainda compreendeu a importância de manter o controle de fluxo com laços while para garantir a navegação entre as funcionalidades do sistema bancário.

Uma dica interessante para o futuro é encapsular as funcionalidades em métodos separados, o que melhora a legibilidade e facilita a manutenção do código. Assim:

public static void realizarSaque(Scanner sc, double saldo) {
    System.out.println("Quanto você deseja sacar?");
    double saque = sc.nextDouble();
    if (saque > saldo) {
        System.out.println("Valor inválido!");
    } else {
        saldo -= saque;
        System.out.println("Saque realizado no valor de R$" + saque);
    }
}

Isso faz com que o código fique mais modular e reutilizável, além de facilitar testes e futuras melhorias.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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