1
resposta

Aprendendo e compartilhando

import java.util.Scanner;

public class sistemabancario {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("*********************************");
        System.out.println("Dados iniciais do Cliente: ");
        System.out.println("Nome: ");
        String nome = scanner.nextLine();
        System.out.println("Tipo conta: ");
        String tipoConta = scanner.nextLine();
        System.out.println("Saldo Atual: ");
        double saldo = scanner.nextDouble();
        System.out.println("*********************************");

        int opcao = 0;
        double novoSaldo = 0;
        while (opcao != 4) {
            System.out.println("*****Operaçôes dispóniveis******* ");
            System.out.println(" 1 - Consultar saldos: ");
            System.out.println(" 2 - Receber valor: ");
            System.out.println(" 3 - Transferir valor: ");
            System.out.println(" 4 - Sair: ");
            System.out.println(" Digite a opção desejada, " + nome + ":");
            int escolhaUsuario = scanner.nextInt();
            System.out.println("*********************************");
            opcao = escolhaUsuario;

            if (escolhaUsuario == 1) {
                System.out.println(nome + "Seu saldo é " + saldo);
            }
            if (escolhaUsuario == 2) {
                System.out.println("Digite o valor a receber: ");
                double saldoRecebido = scanner.nextDouble();
                saldo = saldo + saldoRecebido;
                System.out.println("Novo saldo em conta: " + saldo);
            }
            if (escolhaUsuario == 3) {
                System.out.println("Digite o valor a transferir: ");
                double valorTransferir = scanner.nextDouble();
                saldo = saldo - valorTransferir;
                System.out.println("Saldo atual é " + saldo);


                if (valorTransferir > novoSaldo) {
                    System.out.println("Saldo insuficiente!");
                }
            }
            if (escolhaUsuario != 4){
                System.out.println("Operação inválida");
            }
        }
    }

}
1 resposta

Bom dia Maria! Tudo bem com você?

Obrigado por compartilhar seu código com a comunidade Alura. Testei seu código e ele funciona, porém, temos alguns ajustes para fazer:

  • A mensagem "Operação inválida" está sendo exibida para qualquer opção que não seja 4, mesmo quando a operação é válida. Para corrigir isso, a verificação deve ser feita apenas se a opção não for 1, 2, 3 ou 4:

  • Ao consultar o saldo, você pode adicionar um espaço para melhorar a legibilidade. Atualmente está saindo o nome da pessoa junto com a mensagem do saldo. Exemplo RafaelSeu saldo é 500.0

  • No trecho onde você verifica se o valor a ser transferido é maior que o saldo disponível, a condição está comparando com novoSaldo, que sempre será zero. Você deve comparar com saldo.

  • Abaixo, o código completo após as mudanças:

    import java.util.Scanner;
    
    public class sistemabancario  {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("*********************************");
            System.out.println("Dados iniciais do Cliente: ");
            System.out.println("Nome: ");
            String nome = scanner.nextLine();
            System.out.println("Tipo conta: ");
            String tipoConta = scanner.nextLine();
            System.out.println("Saldo Atual: ");
            double saldo = scanner.nextDouble();
            System.out.println("*********************************");
    
            int opcao = 0;
            double novoSaldo = 0;
            while (opcao != 4) {
                System.out.println("*****Operaçôes dispóniveis******* ");
                System.out.println(" 1 - Consultar saldos: ");
                System.out.println(" 2 - Receber valor: ");
                System.out.println(" 3 - Transferir valor: ");
                System.out.println(" 4 - Sair: ");
                System.out.println(" Digite a opção desejada, " + nome + ":");
                int escolhaUsuario = scanner.nextInt();
                System.out.println("*********************************");
                opcao = escolhaUsuario;
    
                if (escolhaUsuario == 1) {
                    System.out.println(nome + ", seu saldo é " + saldo);
                }
                if (escolhaUsuario == 2) {
                    System.out.println("Digite o valor a receber: ");
                    double saldoRecebido = scanner.nextDouble();
                    saldo = saldo + saldoRecebido;
                    System.out.println("Novo saldo em conta: " + saldo);
                }
                if (escolhaUsuario == 3) {
                    System.out.println("Digite o valor a transferir: ");
                    double valorTransferir = scanner.nextDouble();
    
                    if (valorTransferir > saldo) {
                        System.out.println("Saldo insuficiente!");
                    }else {
                        saldo = saldo - valorTransferir;
                        System.out.println("Saldo atual é " + saldo);
                    }
                }
                if (escolhaUsuario < 1 || escolhaUsuario > 4){
                    System.out.println("Operação inválida");
                }
            }
        }
    
    }
    

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado