En el video se indica que se realice el proyecto banco usando el swich, pero en un principio se entendio o entendi que uno debia llegar al resultado cumpliendo lo requerido, consulta de saldo retiro, deposito y salida. El proyecto lo realice pero con while e if, no se si esta correcto y me puedan indicar. adjunto el codigo
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.util.Locale;
import java.util.Scanner;
public class DesafioBco {
public static void main(String[] args) {
String nombre = "Tony Stark";
String tipoCuenta = "Corriente";
double saldo = 2000000;
int opcion = 0;
int op1 = 1;
int op2 = 2;
int op3 = 3;
int op9 = 9;
Scanner teclado = new Scanner(System.in);
int numValido = 0;
boolean entradaValida = false;
System.out.println("\n*** Bienvenidos al Banco ***");
System.out.println("\n***********************************");
System.out.println("* Información del Cliente *");
// creo el formato para Chile que es 2.000.000,45
DecimalFormatSymbols simbolos = new DecimalFormatSymbols(Locale.GERMANY); // Alemania usa el mismo formato
DecimalFormat formato = new DecimalFormat("#,##0.##", simbolos);
System.out.println("***********************************");
System.out.println("\n***********************************");
System.out.println("Nombre del Cliente : " + nombre);
System.out.println("Tipo de Cuenta : " + tipoCuenta);
System.out.println("Su Saldo Disponible es: " + "$" + formato.format(saldo) + ".-");
System.out.println("***********************************");
System.out.println("\n****************");
System.out.println("Menu de Opciones");
System.out.println("****************");
String menu = """
\n*** Escriba el numero de la Opcion Deseada***
Op. 1 - Consulta de Saldo
Op. 2 - Retirar
Op. 3 - Depositar
Op. 9 - Salir de la Consulta
""";
while (opcion != op9) {
System.out.println(menu);
if (teclado.hasNextInt()) {
int op = teclado.nextInt();
if ((op == op1 || op == op2 || op == op3 || op == op9)) {
opcion = op;
} else {
System.out.println("❌ Debe ingresar una Opción Valida");
}
} else {
System.out.println("❌ Ingrese Solo Números y Enteros!!!");
teclado.next();
}
if (opcion == 1) {
System.out.println("\n*** Su saldo actual es: " + "$" + formato.format(saldo) + " ***");
} else if (opcion == 2) {
System.out.println("Ingrese el Monto a Retirar");
int retiro = teclado.nextInt();
if (retiro > saldo) {
System.out.println("**** Se EXCEDE del Maximo ****");
} else if(retiro > 0){
saldo = saldo - retiro;
System.out.println("*** Su nuevo Saldo es: " + formato.format(saldo) + " ***");
}
} else if (opcion == 3){
System.out.println("Ingrese el Monto a Depositar");
int deposito = teclado.nextInt();
if (deposito <= 0){
System.out.println("Debe depositar una Suma Positiva Mayor a Cero");
} else {
saldo = saldo + deposito;
System.out.println("*** Su nuevo Saldo es: " + formato.format(saldo) + " ***");
}
}
}teclado.close();
}
}