1
resposta

[Projeto] Meu Desafio

import java.util.Scanner;

public class SistemaBancario {
    public static void main(String[] args) {
        Scanner leitura = new Scanner(System.in);
        String nome = "Pedro Bovo";
        String conta = "Corrente";
        double saldoInicial = 2500.00;

        System.out.println("***************************************************\n");
        System.out.println("                  Banco 4:20 \n                           ");
        System.out.println(String.format("nome:                   %s", nome));
        System.out.println(String.format("Conta:                  %s", conta));
        System.out.println(String.format("Saldo Inicial:          %.2f", saldoInicial));
        System.out.println("\n****************************************************\n\n");
        System.out.println(" Operacões\n        ");
        System.out.println("1- Consultar saldos");
        System.out.println("2- Receber Valor");
        System.out.println("3- Transferir valor");
        System.out.println("4- Encerrar Sessão\n");
        System.out.println("Digite a opção desejada: ");
        int opcao = leitura.nextInt();
        while(opcao != 4){
            switch (opcao){
                case 1:
                    System.out.println(String.format("O saldo atual é R$%.2f", saldoInicial));
                    System.out.println(" \nOperacões\n        ");
                    System.out.println("1- Consultar saldos");
                    System.out.println("2- Receber Valor");
                    System.out.println("3- Tranferir valor");
                    System.out.println("4- Encerrar Sessão\n");
                    System.out.println("Digite a opção desejada: ");
                    opcao = leitura.nextInt();
                case 2:
                    System.out.println("Digite o valor que ira receber: ");
                    double receber = leitura.nextDouble();
                    saldoInicial += receber;
                    System.out.println(String.format("Saldo atualizado R$%.2f", saldoInicial));
                    System.out.println(" \nOperacões\n        ");
                    System.out.println("1- Consultar saldos");
                    System.out.println("2- Receber Valor");
                    System.out.println("3- Tranferir valor");
                    System.out.println("4- Encerrar Sessão\n");
                    System.out.println("Digite a opção desejada: ");
                    opcao = leitura.nextInt();
                case 3:
                    System.out.println("Digite o Valor que vai transferir: ");
                    double transferir = leitura.nextDouble();
                    while(transferir > saldoInicial){
                        System.out.println("Valor de transferencia maior que o saldo! Digite outro valor");
                        transferir = leitura.nextDouble();
                    }
                    saldoInicial -= transferir;
                    System.out.println(String.format("Saldo atualizado para R$%.2f",saldoInicial));
                    System.out.println(" \nOperacões\n        ");
                    System.out.println("1- Consultar saldos");
                    System.out.println("2- Receber Valor");
                    System.out.println("3- Tranferir valor");
                    System.out.println("4- Encerrar Sessão\n");
                    System.out.println("Digite a opção desejada: ");
                    opcao = leitura.nextInt();
                default:
                    if (opcao != 4){
                        System.out.println("Opção invalida");
                        System.out.println(" \nOperacões\n        ");
                        System.out.println("1- Consultar saldos");
                        System.out.println("2- Receber Valor");
                        System.out.println("3- Tranferir valor");
                        System.out.println("4- Encerrar Sessão\n");
                        System.out.println("Digite a opção desejada: ");
                        opcao = leitura.nextInt();
                    }
            }
            System.out.println("Muito Obrigado por fazer parte do nosso banco!");
            System.out.println("Deixe uma nota de 1 a 5 pelo nosso  antendimento sendo 1 Muito Ruim e 5 Muito bom:");
            int nota = leitura.nextInt();
        }






    }
}
1 resposta

Oi, Pedro! Tudo bem?

Parabéns pela elaboração do código, é muito bacana poder ter acesso aos seus conhecimentos através de uma atividade prática, ficou super bacana! Muito obrigada também por contribuir com a nossa comunidade, compartilhando o seu projeto com a gente, tenho certeza que servirá de ajuda e inspiração para muitos colegas!

Deixo como recomendação apenas a adição de um "break;" no final de cada case no switch, fazendo com que o programa saia do switch e continue a execução normalmente, como podemos visualizar no exemplo abaixo:

case 1:
    // código para consultar saldo
    opcao = leitura.nextInt();
    break;
case 2:
    // código para receber valor
    opcao = leitura.nextInt();
    break;
case 3:
    // código para transferir valor
    opcao = leitura.nextInt();
    break;

Deixo também para consulta e estudo, uma outra maneira de resolver o desafio, para notarmos o quão amplas são as possibilidades de resolução de problemas com a linguagem de programação:

import java.util.Scanner;

public class Desafio {
    public static void main(String[] args) {
        String nome = "Clark Kent";
        String tipoConta = "Corrente";
        double saldo = 1599.99;
        int opcao = 0;

        System.out.println("***********************");
        System.out.println("\nNome do cliente: " + nome);
        System.out.println("Tipo conta: " + tipoConta);
        System.out.println("Saldo atual: " + saldo);
        System.out.println("\n***********************");

        String menu = """
                ** Digite sua opção **
                1 - Consultar saldo
                2 - Transferir valor
                3 - Receber valor 
                4 - Sair
                
                """;
        Scanner leitura = new Scanner(System.in);

        while (opcao != 4) {
            System.out.println(menu);
            opcao = leitura.nextInt();

            if (opcao == 1){
                System.out.println("O saldo atualizado é " + saldo);
            } else if (opcao == 2) {
                System.out.println("Qual o valor que deseja transferir?");
                double valor = leitura.nextDouble();
                if (valor > saldo) {
                    System.out.println("Não há saldo para realizar a transferência.");
                } else {
                    saldo -= valor;
                    System.out.println("Novo saldo: " + saldo);
                }
            } else if (opcao == 3) {
                System.out.println("Valor recebido: ");
                double valor = leitura.nextDouble();
                saldo += valor;
                System.out.println("Novo saldo: " + saldo);
            } else if (opcao != 4) {
                System.out.println("Opção inválida!");
            }
        }
    }
}

Espero ter contribuído!

Um forte abraço e bons estudos!