Desafio: Movimentação Bancária
package DesafioQuatro;
import java.util.Scanner;
public class Desafio {
public static void main(String[] args) {
Scanner leitorDeDados = new Scanner(System.in);
String tipoConta = "Corrente";
String nomeCliente;
double saldo;
int opcaoMenu;
String menu = """
*** Escolha uma Opção ***
1 - Consulta Saldo.
2 - Transferir Valor.
3 - Receber Valor.
4 - Sair.
""";
System.out.print("Informe o nome do cliente:");
nomeCliente = leitorDeDados.nextLine();
System.out.print("Informe o seu saldo inicial:");
saldo = leitorDeDados.nextDouble();
System.out.println("****************************");
System.out.println("Nome do Cliente: " + nomeCliente);
System.out.println("Tipo de Conta..: " + tipoConta);
System.out.println("Saldo..........: " + saldo);
System.out.println("****************************");
do {
System.out.println(menu);
opcaoMenu = leitorDeDados.nextInt();
switch (opcaoMenu){
case 1:
System.out.println("O saldo atualizado é: " + saldo);
System.out.println();
break;
case 2:
System.out.println("Digite o valor que deseja transferir");
double valorTransferir = leitorDeDados.nextDouble();
if (valorTransferir > saldo){
System.out.println("Você não tem saldo suficiente para realizar a transferência.");
System.out.println("Seu saldo é de " + saldo);
System.out.println();
} else {
saldo -= valorTransferir;
System.out.println("O saldo atualizado é " + saldo);
System.out.println();
}
break;
case 3:
System.out.println("Digite o valor que deseja receber");
double valorReceber = leitorDeDados.nextDouble();
saldo += valorReceber;
System.out.println("O saldo atualizado é " + saldo);
System.out.println();
break;
case 4:
System.out.println("Você acabou de encerrar as operações.");
break;
default:
System.out.println("Opção Inválida!");
System.out.println();
System.out.println(menu);
opcaoMenu = leitorDeDados.nextInt();
}
} while (opcaoMenu != 4);
}
}
Eu fiz esse bloco de código acima, porém quando faço o teste, colocando primeiro uma opção inválida e escolhendo em seguida uma opção válida, ele não funciona corretamente. Onde está o erro? Eu não consegui identificar.
Obrigada!