Segue a minha resolução do projeto que tentei por conta própria:
public class VirtualBankAccount {
static void main() {
Scanner scanner = new Scanner(System.in);
int option = 0;
System.out.println("Digite o nome do cliente: ");
String name = scanner.nextLine();
System.out.println("Digite o tipo de conta (Corrente / Poupança): ");
String account = scanner.nextLine();
System.out.println("Digite o saldo: ");
double balance = scanner.nextDouble();
String initialData = """
*********************************
Dados iniciais do cliente:
Nome: %s
Tipo conta: %s
Saldo inicial: R$ %.2f
*********************************
\n
""";
System.out.printf(initialData.formatted(name, account, balance));
while (option != 4) {
System.out.println(
"""
Operações
1- Consultar saldos
2- Receber valor
3- Transferir valor
4- Sair
"""
);
option = scanner.nextInt();
switch (option) {
case 1:
System.out.printf(initialData.formatted(name, account, balance));
break;
case 2:
balance = receiveValue(balance);
break;
case 3:
balance = transferValue(balance);
break;
case 4:
break;
default:
String invalidOption = "Opcao inválida";
System.out.println(invalidOption);
break;
}
}
}
public static double receiveValue(double balance) {
double valueToReceive = 0;
Scanner scanner = new Scanner(System.in);
System.out.println("\nInforme o valor a receber: ");
valueToReceive = scanner.nextDouble();
balance += valueToReceive;
System.out.println("\nSaldo atualizado: R$ " + (balance));
return balance;
}
public static double transferValue(double balance) {
double valueToTransfer = 0;
Scanner scanner = new Scanner(System.in);
System.out.println("\nInforme o valor que deseja transferir: ");
valueToTransfer = scanner.nextDouble();
if (!((balance - valueToTransfer) < 0)) {
balance -= valueToTransfer;
System.out.println("\nSaldo atualizado: R$" + balance);
return balance;
} else {
System.out.println("Não há saldo suficiente para fazer essa transferência.");
}
return balance;
}
}
Tive que pesquisar algumas coisas para entender como são criados métodos e como chamá-los, pois eu comecei a aprender a programar com Python, então tenho dificuldade. Acredito que, para o estágio atual da trilha backend do java, a minha resolução esteja boa.
```