Eu demorei um pouquinho pra aprender como usar o Switch nesse tipo de ocasião... mas valeu a pena, aprendi mais comandos no java também... Então foi bom no geral :D. E eu fiz três versões diferentes do código, porque eu fiz com o do While (Como a instrutora fez no final dela)... aí depois eu tentei fazer com o Switch, e com os Elementos que aprendi no Switch eu apliquei em um While. (Não coloquei todos aqui pelo limite de caracter e que não estou conseguindo enviar imagens.)
Muito obrigado pelos ensinamentos, foi legal!
import java.util.Scanner;
public class DesafioJavaComSwitch {
public static void main(String[] args) {
Scanner leituraCliente = new Scanner(System.in);
double saldo = 100.00;
String tipoDeConta = "Corrente";
String nomeDaConta = "Carlos Alberto";
/* No caso do while (true), a condição é sempre verdadeira, pois o valor "true"
é sempre considerado verdadeiro em Java. Portanto, o loop nunca será interrompido
naturalmente, e o código continuará executando repetidamente indefinidamente, a
menos que alguma outra condição dentro do loop cause uma interrupção manual.
*/
while (true) {
System.out.println("*************************");
System.out.println("\nNome: " + nomeDaConta);
System.out.println("Tipo da Conta: " + tipoDeConta);
System.out.println("Saldo atual: " + saldo);
System.out.println("\n*************************");
String opcoesEmNumerosMenu =
"""
1- Consultar saldos
2- Receber valor
3- Transferir valor
4- Sair
""";
int opcaoComNumeros;
System.out.println(opcoesEmNumerosMenu);
opcaoComNumeros = leituraCliente.nextInt();
switch (opcaoComNumeros) {
case 1:
System.out.println("Saldo atual: " + saldo);
break;
case 2:
double saldoParaReceber;
System.out.println("Digite o valor para receber: ");
saldoParaReceber = leituraCliente.nextDouble();
saldo += saldoParaReceber;
System.out.println("Saldo atual com recebimento: " + saldo);
break;
case 3:
double saldoParaTransferir;
System.out.println("Digite o valor para transferir: ");
saldoParaTransferir = leituraCliente.nextDouble();
if (saldoParaTransferir > saldo) {
System.out.println("Você não possui saldo suficiente para a transferência");
} else {
saldo -= saldoParaTransferir;
System.out.println("Saldo atual com a transferência: " + saldo);
}
break;
case 4:
System.out.println("Saindo do programa...");
leituraCliente.close(); // Fechar o scanner antes de sair
/*
A função System.exit() aceita um argumento que representa o status de saída do
programa. O valor zero (0) é geralmente usado para indicar uma saída bem-sucedida,
sem erros. Outros valores diferentes de zero podem ser usados para representar
diferentes estados ou códigos de erro.
*/
System.exit(0); // Encerrar o programa
break;
default:
System.out.println("Digite uma opção válida (1 a 4).");
}
}
}
}