import java.util.Locale;
import java.util.Scanner;
public class Desafio {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in).useLocale(Locale.US);
String nome = "Raphael";
String tipoConta = "Corrente";
double saldoInicial = 12000.00;
String mensagemInicial = """
**************************************
Dados iniciais do cliente:
Nome: %s
Tipo conta: %s
Saldo inicial: %.2f
**************************************
""".formatted(nome, tipoConta, saldoInicial);
String operacoes = """
Operações:
1 - Consultar saldo
2 - Receber valor
3 - Transferir valor
4 - Sair
""";
System.out.println(mensagemInicial);
boolean sair = false;
while(!sair) {
System.out.println(operacoes);
System.out.print("Digite a opção desejada: ");
int opcao = scanner.nextInt();
switch (opcao) {
case 1:
consultarSaldo(saldoInicial);
break;
case 2:
System.out.print("Informe um valor a receber: ");
double deposito = scanner.nextDouble();
double novoDeposito = validarOperacao(deposito, "deposito");
saldoInicial += novoDeposito;
consultarSaldo(saldoInicial);
break;
case 3:
System.out.print("Informe o valor que deseja transferir: ");
double transferencia = scanner.nextDouble();
if (transferencia > saldoInicial){
System.out.println("Não há saldo suficiente para fazer essa transferência!");
break;
}
double novoSaldo = validarOperacao(transferencia, "transferencia");
saldoInicial += novoSaldo;
consultarSaldo(saldoInicial);
break;
case 4:
sair = true;
System.out.println("Saindo...");
break;
default:
System.out.println("Opção inválida");;
}
}
scanner.close();
}
public static double validarOperacao(double valor, String operacao) {
if(valor < 0){
System.out.println("O valor informado não pode ser negativo!");
return 0;
} else {
return operacao.equalsIgnoreCase("transferencia") ? valor * -1 : valor;
}
}
public static void consultarSaldo(double saldoInicial) {
System.out.println(String.format("O saldo atual é de R$%.2f\n", saldoInicial));
}
}