Fiz tudo para deixar o código o mais perfeito possível, tive que tirar os comentarios e encurtar mensagens por causa do limite da alura, fiz com string menu = """mas nao iria caber entao coloquei tudo em um SOUT só
import java.util.Scanner;
public class Desafio {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Digite seu nome completo: ");
String nome = sc.nextLine();
String tipoConta = "Corrente";
double saldo = 2499.99;
System.out.println("**********************************************");
System.out.println("Dados Iniciais do cliente: ");
System.out.println("\n Nome: " + nome);
System.out.println("\n Tipo de conta: " + tipoConta);
System.out.println("\n Saldo inicial: " + saldo);
System.out.println("**********************************************");
boolean operacao = true;
while (operacao) {
System.out.println("\n1: Consultar saldo\n2: Receber valor\n3: Transferir valor\n4: Sair");
System.out.println("Digite a opção desejada: ");
int opcao = sc.nextInt();
sc.nextLine();
switch (opcao) {
case 1:
System.out.println("Saldo atual: " + String.format("%.2f", saldo));
String escolha = "";
while (!escolha.equalsIgnoreCase("sim") && !escolha.equalsIgnoreCase("nao")) {
System.out.println("Deseja fazer mais operações? (sim/nao): ");
escolha = sc.nextLine();
if (!escolha.equalsIgnoreCase("sim") && !escolha.equalsIgnoreCase("nao")) {
System.out.println("Resposta inválida!");
}
}
if (escolha.equalsIgnoreCase("nao")) {
operacao = false;
}
break;
case 2:
double valorReceber = 0;
while (valorReceber <= 0) {
System.out.println("Valor a receber: ");
valorReceber = sc.nextDouble();
if (valorReceber <= 0) {
System.out.println("Valor inválido!");
}
}
saldo += valorReceber;
System.out.println("Saldo atualizado: " + String.format("%.2f", saldo));
sc.nextLine();
String desejo = "";
while (!desejo.equalsIgnoreCase("sim") && !desejo.equalsIgnoreCase("nao")) {
System.out.println("Deseja fazer mais operações? (sim/nao): ");
desejo = sc.nextLine();
if (!desejo.equalsIgnoreCase("sim") && !desejo.equalsIgnoreCase("nao")) {
System.out.println("Resposta inválida!");
}
}
if (desejo.equalsIgnoreCase("nao")) {
operacao = false;
}
break;
case 3:
double valorTransferir = 0;
while (valorTransferir <= 0 || valorTransferir > saldo) {
System.out.println("Valor a transferir: ");
valorTransferir = sc.nextDouble();
if (valorTransferir > saldo) {
System.out.println("Saldo insuficiente!");
} else if (valorTransferir <= 0) {
System.out.println("Valor inválido!");
}
}
saldo -= valorTransferir;
System.out.println("Saldo atualizado: " + String.format("%.2f", saldo));
sc.nextLine();
String resposta = "";
while (!resposta.equalsIgnoreCase("sim") && !resposta.equalsIgnoreCase("nao")) {
System.out.println("Deseja fazer mais operações? (sim/nao): ");
resposta = sc.nextLine();
if (!resposta.equalsIgnoreCase("sim") && !resposta.equalsIgnoreCase("nao")) {
System.out.println("Resposta inválida!");
}
}
if (resposta.equalsIgnoreCase("nao")) {
operacao = false;
}
break;
case 4:
System.out.println("Encerrando!");
operacao = false;
break;
default:
System.out.println("Opção inválida!");
}
}
sc.close();
}
}