public class ContaBancariaVirtual {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner teclado = new Scanner(System.in);
System.out.println("Cadastro bancário");
System.out.print("Nome: ");
String nome = teclado.nextLine();
String tipoConta = "";
boolean tipoOk = false;
while (tipoOk == false){
System.out.println("Selecione a opção de conta:\n"
+ "1 - para Conta Corrente\n"
+ "2 - para Conta Poupança");
System.out.println("==> ");
int opcaoConta = teclado.nextInt();
if (opcaoConta == 1) {
tipoConta = "Corrente";
tipoOk = true;
} else if (opcaoConta == 2) {
tipoConta = "Poupança";
tipoOk = true;
} else {
System.out.println("Opção Inválida");
}
}
System.out.println("Saldo inicial: ");
double saldo = teclado.nextDouble();
System.out.println();
System.out.println();
String dadosInicias = """
**********************************
Dados inicias do cliente
Nome: %s.
Tipo de conta: %s.
Saldo da conta: R$ %.2f.
**********************************
""".formatted(nome, tipoConta, saldo);
System.out.println(dadosInicias);
int opcao = 0;
while(opcao!=4) {
System.out.println();
System.out.println();
System.out.println("Operações");
System.out.println();
System.out.println("1 - Consultar saldos\n"
+ "2 - Receber valor\n"
+ "3 - Transferir valor\n"
+ "4 - Sair");
System.out.print("==> ");
opcao = teclado.nextInt();
switch (opcao) {
case 1:
System.out.println(String.format("Saldo atual: R$ %.2f", saldo));
break;
case 2:
System.out.print("Valor a receber R$: ");
double valor = teclado.nextDouble();
saldo += valor;
System.out.println(String.format("Saldo atualizado R$ %.2f", saldo));
break;
case 3:
System.out.print("Valor a transferir: R$ ");
valor = teclado.nextDouble();
if (valor > saldo || saldo ==0) {
System.out.println("Saldo insuficente para transferência");
} else {
saldo -= valor;
System.out.println(String.format("Saldo atualizado R$ %.2f", saldo));
}
break;
case 4:
break;
default:
System.out.println("Opção inválida!");
}
}
System.out.println("Sistema Finalizado");