import java.util.Random;
import java.util.Scanner;
public class Main
{
public static void main(String[] args) {
Scanner scan = new Scanner (System.in);
String name = "Jacqueline Oliveira";
String account = "Corrente";
Double amount = 2500.00;
int userOption = 0;
Double transferResult;
while (userOption !=4){
showMessage(name, account, amount);
userOption = scan.nextInt();
switch (userOption){
case 1:
showMessage(name, account, amount);
break;
case 2:
System.out.println("Digite o valor de deposito:");
Double receivedCash = scan.nextDouble();
transferResult = receiveCash (receivedCash, amount);
if (transferResult != -1.0){
amount = transferResult;
}
break;
case 3:
System.out.println("Digite o valor de transferencia:");
Double cashSent = scan.nextDouble();
transferResult = sendCash (cashSent, amount);
if (transferResult != -1.0){
amount = transferResult;
}
break;
case 4:
System.out.println("Programa Encerrado!");
break;
default:
System.out.println("Opção inválida. Tente novamente.");
break;
}
}
scan.close();
}
public static void showMessage (String name, String account, Double amount){
System.out.println("""
************************
Dados do cliente
Nome: %s
Tipo conta: %s
Saldo Atual: R$ %.2f
************************
Operações
1- Consultar saldos
2- Receber valor
3- Transferir valor
4- Sair
Digite a opção desejada:
""".formatted(name, account, amount));
}
public static Double receiveCash (Double receivedCash, Double amount){
if (receivedCash <= 0){
System.out.println("Nao é possivel enviar valor zero ou negativo!");
return -1.0;
}
amount += receivedCash;
System.out.println("""
Valor Recebido: R$ %.2f
Novo Saldo: R$ %.2f
""".formatted(receivedCash, amount ));
return amount;
}
public static Double sendCash (Double cashSent, Double amount){
if (cashSent <= 0){
System.out.println("O valor da transferência precisa ser maior que zero!");
return -1.0;
}
Double result = amount - cashSent;
if (result < 0){
System.out.println("Valor a ser transferido ultrapassa saldo atual!");
return -1.0;
}
System.out.println("""
Valor Transferido: %.2f
Novo Saldo: %.2f
""".formatted(cashSent, result));
return result;
}
}