Conclui o código. Tem um problema no case 3 que não consegui resolver que o programa pergunta para o usuario duas vezes qual valor deve sacar... :(
import java.util.Random;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
Random gerador = new Random();
String nomeCliente, tipoConta;
Double saldoInicial;
System.out.println("Informe seu Nome :");
nomeCliente = teclado.nextLine();
System.out.println("\nInforme o tipo da sua conta: (Corrente/Poupança)");
tipoConta = teclado.nextLine();
saldoInicial = gerador.nextDouble(1000.00, 10000.99);
ExibirMenu(nomeCliente, tipoConta, saldoInicial);
Operacao(teclado, saldoInicial);
teclado.close();
}
public static void ExibirMenu(String nomeCliente, String tipoConta, double saldoInicial){
System.out.println("""
***********************
Dados iniciais do cliente:
Nome: %s
Tipo da Conta: %s
Saldo da Conta: R$ %.2f
***********************
""".formatted(nomeCliente, tipoConta,saldoInicial));
}
public static void Operacao(Scanner teclado, double saldoInicial){
int opcao;
boolean condicao=true;
double deposito, saque;
System.out.println("""
Operações
1- Consultar saldos
2- Receber valor
3- Transferir valor
4- Sair
Digite a opção desejada:""");
while (condicao){
opcao = teclado.nextInt();
while (opcao >= 1 && opcao <=4) {
switch (opcao){
case 1:
System.out.println("Saldo Atual da conta: " + String.format("%.2f", saldoInicial));
System.out.println("Selecione outra opção, caso queira sair digite 4 : ");
opcao=teclado.nextInt();
break;
case 2:
System.out.println("Qual valor deseja depositar ?");
deposito=teclado.nextDouble();
saldoInicial += deposito;
System.out.println("\nSaldo Atual : R$" + String.format("%.2f",saldoInicial ));
System.out.println("\nDigite 2 caso queira depositar mais dinheiro");
System.out.println("Selecione outra opção, caso queira sair digite 4 : ");
opcao=teclado.nextInt();
break;
case 3:
System.out.println("Informe o valor que queira sacar :");
saque=teclado.nextDouble();
if(saque < saldoInicial){
saldoInicial -= saque;
System.out.println("\nSaldo Atual : R$" + String.format("%.2f", saldoInicial));
System.out.println("\nDigite 3 caso queira sacar mais dinheiro");
System.out.println("Selecione outra opção, caso queira sair digite 4 : ");
opcao = teclado.nextInt();
}else {
while (saque >saldoInicial){
System.out.println("Saldo Insufiente !");
System.out.println("Digite o valor que queira sacar novamente !: ");
saque=teclado.nextDouble();
}
}
break;
case 4:
System.out.println("Adeus, Obrigado por usar nosso banco !");
condicao = false;
break;
}
}
System.out.println("""
Opção invalida \n Digite Outra opção""");
opcao= teclado.nextInt();
}
}
}