Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

[Proyecto] Desafío Proyecto final BANCARIO

Mi código:

import java.util.Scanner;

public class Bancario {
    public static void main(String[] args) {
        Scanner teclado = new Scanner(System.in);
        int opcion;
        double retiro;
        double deposito;
        String continuar = "Y";

        String cliente = "Tony Stark";
        String cuenta = "Corriente";
        double saldoDisponible = 1599.99;

        String bienvenida = String.format("""
                Bienveido a su cajero.
                Nombre del cliente: %s
                Tipo de cuenta: %s
                Saldo Disponible: %.2f$
                """, cliente, cuenta, saldoDisponible);

        String menu = """
                **************************************
                Estas son nuestras operaciones
                1 - Consultar Saldo
                2 - Retirar
                3 - Depositar
                9 - Salir
                Escoja la opción que necesite:
                """;


        System.out.println(bienvenida);

        do{
            System.out.println(menu);
            opcion = teclado.nextInt();
            teclado.nextLine();
            switch(opcion){
                case 1:
                    System.out.printf("Su saldo disponible es de %.2f\n", saldoDisponible);
                    break;
                case 2:
                    System.out.println("Cuánto desea retirar:");
                    retiro = teclado.nextDouble();
                    teclado.nextLine();
                    if (retiro <= saldoDisponible){
                        saldoDisponible -= retiro;
                        System.out.printf("Usted ha retirado %.2f\n", retiro);

                    }else{
                        System.out.println("Fondos insuficientes.");
                    }
                    break;
                case 3:
                    System.out.println("Cuánto desea depositar:");
                    deposito = teclado.nextDouble();
                    teclado.nextLine();
                    System.out.printf("Usted ha depositado %.2f\n", deposito);
                    saldoDisponible += deposito;
                    break;
                case 9:
                    System.out.println("Gracias por usar nuestros servicios.");
                    break;
                default:
                    System.out.println("Opcion no valida");
                    break;


            }
            if (opcion != 9){
                System.out.println("¿DEseas realizar otra operación? (Y/N):");
                continuar = teclado.nextLine().trim().toUpperCase();
                if (continuar.equals("N")){
                    System.out.println("Gracias por usar nuestros servicios.");
                }
            }
        } while (opcion != 9 && continuar.equals("Y"));


    }
}
2 respuestas

Hola Erick, espero que estés bien

Tu código para el proyecto bancario se ve bastante bien y parece que cubre las funcionalidades básicas que se requieren: consultar saldo, retirar y depositar. Aquí hay algunos puntos que podrías considerar para mejorar o ajustar tu código:

  1. Validación de Entrada: Actualmente, el código no maneja situaciones en las que el usuario ingresa un valor no numérico cuando se le solicita un número. Podrías agregar una validación para asegurarte de que el usuario ingrese un número válido.

  2. Formato de Salida: Al imprimir los valores monetarios, podrías considerar formatearlos para que siempre muestren dos decimales, lo que es común en la representación de dinero.

  3. Buena Práctica con Recursos: Es una buena práctica cerrar el Scanner al final del programa para liberar recursos. Puedes hacerlo usando teclado.close(); después del bucle do-while.

  4. Mejorar la Interacción del Usuario: Podrías mejorar la experiencia del usuario al ofrecer mensajes más claros o instrucciones adicionales sobre cómo usar el programa.

Aquí tienes un ejemplo de cómo podrías implementar la validación de entrada:

boolean entradaValida;
do {
    System.out.println(menu);
    entradaValida = true;
    if (teclado.hasNextInt()) {
        opcion = teclado.nextInt();
        teclado.nextLine();
    } else {
        System.out.println("Por favor, ingrese un número válido.");
        teclado.nextLine(); // Limpiar el buffer
        entradaValida = false;
    }
} while (!entradaValida);

Espero que estas sugerencias te sean útiles. ¡Sigue adelante con tu proyecto!

Espero haber ayudado y buenos estudios!

Muchas gracias por el feedback! Lo tomaré en cuenta y le daré una vuelta al código nuevamente!