import java.util.Scanner;
public class SistemaBanco { public static void main(String[] args) { Scanner sc = new Scanner(System.in);
// Dados iniciais do cliente
String nome = "Ana";
String tipoConta = "Corrente";
double saldo = 2500.0;
// Exibe os dados do cliente
System.out.println("Dados iniciais do cliente:");
System.out.println("Nome: " + nome);
System.out.println("Tipo conta: " + tipoConta);
System.out.println("Saldo inicial: R$ " + saldo);
System.out.println("***********************");
// Menu de opções
int opcao = 0;
boolean opcaoValida = false;
do {
System.out.println("\nOperações:");
System.out.println("1- Consultar saldos");
System.out.println("2- Receber valor");
System.out.println("3- Transferir valor");
System.out.println("4- Sair");
// Tratamento de exceção para a escolha da opção
while (!opcaoValida) {
System.out.print("Digite a opção desejada: ");
String input = sc.nextLine();
try {
opcao = Integer.parseInt(input);
if (opcao >= 1 && opcao <= 4) {
opcaoValida = true;
} else {
System.out.println("Opção inválida. Escolha um número entre 1 e 4.");
}
} catch (NumberFormatException e) {
System.out.println("Entrada inválida! Por favor, insira um número entre 1 e 4.");
}
}
// Resetar a flag de validade para a próxima iteração
opcaoValida = false;
switch (opcao) {
case 1:
// Consultar saldo
System.out.println("\nSeu saldo atual é: R$ " + saldo);
break;
case 2:
// Receber valor
double valorReceber = 0;
System.out.print("\nInforme o valor a receber: R$ ");
while (true) {
try {
String input = sc.nextLine();
input = input.replace(",", ".");
valorReceber = Double.parseDouble(input);
if (valorReceber <= 0) {
System.out.println("O valor a receber deve ser positivo.");
} else {
break;
}
} catch (NumberFormatException e) {
System.out.println("Entrada inválida! Por favor, insira um número válido.");
}
}
saldo += valorReceber;
System.out.println("Depósito realizado. Seu saldo atualizado é: R$ " + saldo);
break;
case 3:
// Transferir valor
double valorTransferir = 0;
System.out.print("\nInforme o valor que deseja transferir: R$ ");
while (true) {
try {
String input = sc.nextLine();
input = input.replace(",", ".");
valorTransferir = Double.parseDouble(input);
if (valorTransferir <= 0) {
System.out.println("O valor da transferência deve ser positivo.");
} else if (valorTransferir > saldo) {
System.out.println("\nNão há saldo suficiente para fazer essa transferência.");
} else {
break;
}
} catch (NumberFormatException e) {
System.out.println("Entrada inválida! Por favor, insira um número válido.");
}
}
saldo -= valorTransferir;
System.out.println("Transferência realizada com sucesso. Seu saldo atualizado é: R$ " + saldo);
break;
case 4:
// Sair
System.out.println("\nSaindo do sistema. Até logo!");
break;
default:
// Opção inválida
System.out.println("\nOpção inválida. Tente novamente.");
break;
}
} while (opcao != 4);
sc.close();
}
}