Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Desafio: Presentación del desafío / BANCO - Lenin

Este es el codigo que implemente en el reto:

odigo antes de ver los siguientes videos, acepto sugerencias para mejorar el mismo

public class EJERCICIO {
    public static void main(String[] args) {

        int opciones = 0;
        String nombre = "Tony Stark";
        String TipoDeCuenta = "Cuenta Premium";
        double saldo = 1599.99;

        Scanner seleccion = new Scanner(System.in);

        String textoOpciones = """
                **************************************************
                ¡Bienvenido!   """ + nombre + """
                
                Su tipo de cuenta es:""" + TipoDeCuenta + """
                
                ***** ¿Cual es su consulta el dia de hoy? *****
                                
                * 1 - Consultar saldo
                * 2 - Retirar
                * 3 - Depositar
                * 9 - salir
                **************************************************""";
        String mensajeOpciones ="Porfavor seleccione las opciones disponibles";

        // Funciones del codigo

        while (opciones !=9){
            System.out.println(textoOpciones);
            opciones = seleccion.nextInt();


            switch (opciones){
                case 1:
                    System.out.println("Su saldo actual es de: " + saldo +"$");
                    break;

                case 2:
                    System.out.println("Ingrese la cantidad deseada a retirar");
                    double cantidadRetirada = seleccion.nextDouble();

                    // si no se tiene el dinero para retirar entonces:
                    if (cantidadRetirada > saldo){
                        System.out.println("No se dispone del saldo suficiente...");
                    } else {
                        saldo = saldo - cantidadRetirada;
                        System.out.println("Su saldo ahora es de " + saldo + "$");
                    }
                    break;

                case 3:
                    System.out.println("Ingrese la cantidad a depositar");
                    double cantidadIngresada = seleccion.nextDouble();

                    saldo = saldo + cantidadIngresada;
                    System.out.println("Su saldo actual ahora es: " + saldo + "$");
                    break;

                case 9:
                    System.out.println("Gracias por confiar en nosotros, ¡Tenga un buen dia!");
                    break;

                default:
                    System.out.println(mensajeOpciones);
            }
        }
    }
}
1 respuesta

¡Hola Lenin, espero que estés bien!

Tu código está muy bien estructurado y cumple con los requisitos del desafío. Sin embargo, siempre hay espacio para mejoras y optimizaciones. Aquí van algunas sugerencias que podrías considerar:

  1. Manejo de Excepciones: Al usar Scanner para leer la entrada del usuario, es una buena práctica manejar posibles excepciones como InputMismatchException en caso de que el usuario ingrese un tipo de dato incorrecto. Puedes envolver la lectura de entrada en un bloque try-catch.

    try {
        opciones = seleccion.nextInt();
    } catch (InputMismatchException e) {
        System.out.println("Por favor, ingrese un número válido.");
        seleccion.next(); // Limpiar el buffer del scanner
        continue; // Volver al inicio del bucle
    }
    
  2. Formato de Saldo: Para mejorar la presentación del saldo, podrías formatear la salida para mostrar siempre dos decimales, lo que es común en valores monetarios. Puedes usar String.format.

    System.out.println("Su saldo actual es de: " + String.format("%.2f", saldo) + "$");
    
  3. Cerrar el Scanner: Es una buena práctica cerrar el Scanner al final del uso para liberar recursos.

    seleccion.close();
    
  4. Constantes: Considera usar constantes para los mensajes y las opciones del menú. Esto mejora la legibilidad y facilita cambios futuros.

    final int CONSULTAR_SALDO = 1;
    final int RETIRAR = 2;
    final int DEPOSITAR = 3;
    final int SALIR = 9;
    
  5. Separación de Lógica: Podrías considerar separar la lógica de cada opción en métodos individuales para que el método main sea más limpio y fácil de leer.

Espero que estas sugerencias te sean útiles y te ayuden a mejorar aún más tu aplicación bancaria. ¡Bons estudios!