Tentei chegar o mais perto de uma função de uma programação estruturada e fiz dessa forma
package DesafioFinal;
import java.util.Scanner;
public class DesafioMeuJeito {
public static void exibirInfos(String nome, String tipo, Double saldo) {
System.out.println("**********************************");
System.out.println("Dados inicias do cliente:\n");
System.out.printf("Nome:\t\t\t%s\n", nome);
System.out.printf("Tipo Conta:\t\t%s\n", tipo);
System.out.printf("Saldo Inicial:\tR$ %.2f\n", saldo);
System.out.println("**********************************");
}
public static void exibirMenu() {
System.out.println("\n\nOperações");
System.out.println("1- Consultar saldo bancário");
System.out.println("2- Receber Pix");
System.out.println("3- Transferir via Pix");
System.out.println("4- Fechar Aplicativo\n");
System.out.println("Digite a opção desejada: ");
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String nomeCliente = "Michael Jackson";
String tipoContaCliente = "Corrente";
double saldoCliente = 1600.00;
int opcaoEscolhida = 0;
exibirInfos(nomeCliente, tipoContaCliente, saldoCliente);
exibirMenu();
opcaoEscolhida = scan.nextInt();
while(opcaoEscolhida != 4){
switch (opcaoEscolhida){
case 1:
System.out.printf("\nO saldo atual é R$%.2f\n", saldoCliente);
break;
case 2:
System.out.println("Informe o valor a receber: ");
double i = scan.nextDouble();
saldoCliente += i;
System.out.println("Novo saldo é de: R$"+saldoCliente);
break;
case 3:
System.out.println("Informe o valor a transferir: ");
double i2 = scan.nextDouble();
if(saldoCliente >= i2) {
saldoCliente -= i2;
System.out.println("Novo saldo é de: R$"+saldoCliente);
}else {
System.out.println("Saldo insuficiente para realizar o Pix");
}
break;
default:
System.out.println("Opcão Inválida");
break;
}
exibirMenu();
opcaoEscolhida = scan.nextInt();
}
}
}