Cheguei a essa solução referente ao projeto final do app.
import java.util.Scanner;
public class AppBanco {
public static void main(String[] args) {
String systemMessage = "";
String userName = "Rodrigo Pires";
String accountType = "Corrente";
double currentBalance = 150000.00;
String initialMessage = """
\nSeja Bem Vindo!
----------------------
Nome: %s
Tipo de Conta: %s
Saldo Inicial: %.2f
------------------------------------------------------------------
""".formatted(userName, accountType, currentBalance);
System.out.println(initialMessage);
Scanner number = new Scanner(System.in);
int chosenOption = 0;
String optionsMenu = """
Digite a sua opção conforme o menu abaixo:
------------------------------------------
1 - Consultar Saldo
2 - Transferir Valores
3 - Receber Valores
4 - Encerrar App
""";
while (chosenOption < 4) {
System.out.println(optionsMenu);
chosenOption = number.nextInt();
if (chosenOption == 1) {
systemMessage = """
Saldo Atual: | R$ %s |
\n""".formatted(currentBalance);
System.out.println(systemMessage);
} else if (chosenOption == 2) {
systemMessage = "Informe o montante a ser transferido";
System.out.println(systemMessage);
double value = number.nextDouble();
while (value <= 0 || value > currentBalance) {
if (value <= 0) {
systemMessage = """
Valor inválido.
Digite um valor positivo para transferência.
""";
System.out.println(systemMessage);
} else {
systemMessage = """
Seu Saldo | R$ %s | é insuficiente para realizar a transferência.
Digite o valor correto
-------------------------------------------------------------
\n""".formatted(value,currentBalance);
System.out.println(systemMessage);
}
value = number.nextDouble();
}
currentBalance -= value;
systemMessage = """
Transferencia realizada com sucesso
Saldo Atual: | R$ %s |
-------------------------------------
\n""".formatted(currentBalance);
System.out.println(systemMessage);
} else if (chosenOption == 3) {
systemMessage = "Qual o valor recebido?";
System.out.println(systemMessage);
double transferReceived = number.nextDouble();
while (transferReceived <= 0) {
systemMessage = "Valor inválido. Digite um valor maior que 0: ";
System.out.println(systemMessage);
transferReceived = number.nextDouble();
}
currentBalance += transferReceived;
systemMessage = """
Transferência recebida de | R$ %s |
Saldo Atual de | R$ %s |
\n""".formatted(transferReceived, currentBalance);
System.out.println(systemMessage);
} else if (chosenOption == 4) {
systemMessage = """
App será encerrado...
Até logo!
""";
System.out.println(systemMessage);
}
}
number.close();
}
}