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

Reto Bancario

import java.util.Scanner;

public class Desafio {

    public static void main(String[] args) {
        String nombre = "Estiben Yahnzenn";
        String tipoDeCuenta = "Corriente";
        double saldo = 1599.99;
        int opcion = 0;

        System.out.println("***********************");
        System.out.println("\nNombre del cliente: " + nombre);
        System.out.println("El tipo de Cuenta es: " + tipoDeCuenta);
        System.out.println("Su Saldo disponible es: " + saldo);
        System.out.println("\n***********************");

        String menu = """
                *** Escriba el numero de la opcion deseada***
                1 - Consultar saldo
                2 - Retirar
                3 - Depositar
                9 - Salir
                """;
        Scanner teclado = new Scanner(System.in);

        while (opcion != 9) {
            System.out.println(menu);
            opcion = teclado.nextInt();

            switch (opcion) {
                case 1:
                    System.out.println("El saldo actualizado es: " + saldo + "$");
                    break;
                case 2:
                    System.out.println("¿Cuál es el valor que desea retirar?");
                    double valorARetirar = teclado.nextDouble();
                    if (valorARetirar < 0) {
                        System.out.println("El monto a retirar no puede ser negativo.");
                    } else if (valorARetirar > saldo) {
                        System.out.println("Saldo insuficiente.");
                    } else {
                        saldo -= valorARetirar;
                        System.out.println("El saldo actualizado es: " + saldo + "$");
                    }
                    break;
                case 3:
                    System.out.println("¿Cuál es el valor que desea depositar?");
                    double valorADepositar = teclado.nextDouble();
                    if (valorADepositar < 0) {
                        System.out.println("El monto a depositar no puede ser negativo.");
                    } else {
                        saldo += valorADepositar;
                        System.out.println("El saldo actualizado es: " + saldo + "$");
                    }
                    break;
                case 9:
                    System.out.println("Saliendo del programa, gracias por utilizar nuestros servicios.");
                    break;
                default:
                    System.out.println("Opción no válida.");
            }
        }
        teclado.close(); // Cerrar el scanner al final
    }
}

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

1 respuesta

Hola Esteban, espero que estés bien

Tu código para el sistema bancario está muy bien estructurado y parece funcionar correctamente según lo que muestras. Aquí tienes algunos puntos que podrías considerar para mejorar o verificar:

  1. Validación de Entrada: Asegúrate de que el usuario ingrese un número válido para las opciones del menú. Podrías agregar un manejo de excepciones para evitar que el programa falle si se ingresa un valor no numérico.

    try {
        opcion = teclado.nextInt();
    } catch (InputMismatchException e) {
        System.out.println("Por favor, ingrese un número válido.");
        teclado.next(); // Limpiar el buffer
        continue; // Volver al inicio del bucle
    }
    
  2. Formato de Saldo: Para mejorar la presentación del saldo, podrías formatearlo para que siempre muestre dos decimales.

    System.out.printf("El saldo actualizado es: %.2f$\n", saldo);
    
  3. Cerrar Recursos: Ya estás cerrando el Scanner, lo cual es excelente. Asegúrate de que esto se haga solo una vez al final del programa para evitar posibles errores.

  4. Comentarios: Considera agregar comentarios en tu código para explicar partes clave, lo que puede ser útil para otros que lean tu código o para ti mismo en el futuro.

Si tienes algún problema específico que no se haya abordado, por favor compártelo para que pueda ayudarte mejor.

Espero haber ayudado y buenos estudios!