Abaixo minha resolução para criação do sistema bancário, optei por utilizar switch case, porém tive problemas com a variável saldo que não estava sendo salva quando usava o main(args), portanto transformei ela em uma variável global, desta maneira o dado é extraído fora da main e consegue ser alterado do valor original.
package Exercicios.Aula4_Projeto;
import java.util.Scanner;
public class Desafio {
private static double saldo = 3500.00; // Declaração de Global para assegurar alterações
public static void main(String[] args) {
Scanner leitura = new Scanner(System.in);
String nomeCliente = "Gabriel Marçal";
String tipoConta = "Conta Corrente";
// Inicializar dados do cliente
System.out.println(String.format("""
******************************
Dados do cliente
Nome: %s
Conta: %s
Saldo: %.2f
******************************""", nomeCliente, tipoConta, saldo));
// Menu opções
System.out.println("""
Operações
1 - Consultar Saldo
2 - Confirmar Recebimento
3 - Transferir Valor
4 - Sair""");
System.out.println("Digite a opção desejada: ");
int opcao = leitura.nextInt();
switch (opcao) {
case 1:
// Visualização do saldo
System.out.println("Saldo: " + saldo);
main(args); // Retornar ao menu
case 2:
// Recebe valor
System.out.println("Confirme o valor recebido: ");
double valorRecebido = leitura.nextDouble();
saldo += valorRecebido;
System.out.println("Novo Saldo: " + saldo);
main(args); // Retornar ao menu
case 3:
// Envia valor
System.out.println("Informe o valor que pretende transferir:");
double valorTransferido = leitura.nextDouble();
if (valorTransferido > saldo) {
System.out.println("Saldo insuficiente!");
} else {
saldo -= valorTransferido;
System.out.println("Novo Saldo: " + saldo);
}
main(args); // Retornar ao menu
case 4:
System.out.println("Agradecemos pela sua visita!");
System.exit(0); // Encerrar o programa;
default:
System.out.println("Opção inválida");
main(args); // Retornar ao menu;
}
}
}