import java.util.Scanner;
public class App {
public static void main(String[] args) throws Exception {
@SuppressWarnings("resource")
Scanner reading = new Scanner(System.in);
double balance = 0;
int accountType = 0;
int operation = 0;
System.out.println("Digite o seu nome:");
String name = reading.nextLine();
System.out.println("Qual o tipo da sua conta?");
System.out.println("1. Corrente");
System.out.println("2. Poupança");
while (accountType == 0 || accountType > 2) {
accountType = reading.nextInt();
if (accountType >= 1 && accountType < 3) {
String resumeInitialInfo = String.format("""
Dados iniciais do cliente:
Nome: %s
Tipo de conta: %s
Saldo inicial: R$ %s
**********************************************
""", name, accountType == 1 ? "Corrente" : "Poupança", balance);
System.out.println(resumeInitialInfo);
while (operation >= 0) {
double value = 0;
String operationMessage= """
Operações
1 - Consultar saldo
2 - Depositar valor
3 - Transferir valor
4 - Sair
Digite a opção desejada:""";
System.out.println(operationMessage);
operation = reading.nextInt();
if (operation == 1) {
System.out.println(String.format("Seu saldo atual é de R$ %s reais", balance));
operation = 1;
} else if (operation == 2) {
System.out.println("Qual o valor que deseja depositar?");
value = reading.nextDouble();
System.out.println(String.format("Você acaba de depositar R$ %s reais.", value));
balance += value;
operation = 2;
} else if (operation == 3) {
System.out.println("Qual o valor que deseja transferir?");
value = reading.nextInt();
if (value <= 0) {
System.out.println("Defina um valor para transferência.");
} else if (value > balance) {
System.out.println("Saldo insuficiente para transferir :(");
} else {
System.out.println(String.format("Você acaba de transferir R$ %s reais.", value));
balance -= value;
}
operation = 3;
} else if (operation == 4) {
System.out.println("Até mais!");
operation = 4;
break;
} else {
System.out.println("Operação inválida!");
}
}
} else {
System.out.println("Tipo inválido! Tente novamente.");
}
}
}
}