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

Solución al ejercicio

import java.util.Scanner;

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

    String nombre = "Tony Stark", tipoDeCuenta = "Corriente";
    double saldo = 1599.99;
    Scanner teclado = new Scanner(System.in);
    System.out.printf("""
                    ********************************************************
                    
                    Nombre del cliente: %s
                    Tipo de Cuenta: %s
                    Saldo Disponible: %.2f$
                    
                    ********************************************************
                    %n""",
            //variables
            nombre, //%s
            tipoDeCuenta, //%s
            saldo); //%.2f

    String menu = """
            
            *** Escriba el numero de la opción dseada ***
            1 - Consultar saldo
            2 - Retirar 
            3 - Depositar
            9 - Salir
            
            """;

    while(true) {
        System.out.println(menu);
        int opcion = teclado.nextInt();

        switch (opcion) {
            case 1:                                                 //Consulta de Saldo, Mostrara al cliente su saldo actual.
                System.out.printf("""
                                
                                *** Consulta de saldo ***
                                Saldo : %.2f$;
                                
                                %n""",
                        saldo);
                break;

            case 2:                                                 //Operación de retiro, restara el monto ingresado a su saldo actual, solo si el monto solicitado es menor o igual con el saldo actual.
                System.out.println("""
                        
                         *** Retiro de saldo ***
                         Digite el monto que desea retirar:
                        
                        """);

                double montoDeRetiro = teclado.nextDouble();

                if (saldo >= montoDeRetiro && saldo > 0) {
                    System.out.printf("""
                            
                            Saldo anterior : %.2f$
                            Monto de operación: %.2f$
                            Saldo Actual : %.2f$
                            
                            %n""", saldo, montoDeRetiro, (saldo - montoDeRetiro));

                    saldo = saldo - montoDeRetiro;
                    System.out.println("Operación Exitosa!");


                } else {
                    System.out.println("Monto Insuficiente en su cuenta, por favor verifique el saldo disponible!");
                }

                break;

            case 3:
                System.out.println("""
                        
                         *** Deposito de Fondos ***
                         Digite el monto que desea depositar:
                        
                        """);


                double montoDeDeposito = teclado.nextDouble();

                if (montoDeDeposito > 0) {
                    System.out.printf("""
                             
                             Saldo anterior : %.2f$
                             Monto de operación: %.2f$
                             Saldo Actual : %.2f$
                            
                            %n""", saldo, montoDeDeposito, (saldo + montoDeDeposito));
                    saldo += montoDeDeposito;
                } else {
                    System.out.println("MONTO INVALIDO VERIFIQUE! ");
                }

                break;

            case 9:
                System.out.println("SALIENDO... VUELVA PRONTO.");
                teclado.close();
                return;

            default:
                System.out.println("OPCIÓN NO VALIDA, VERIFIQUE");

        }




    }


}

}

1 respuesta

¡Hola, Jesus, espero que estés bien!

Tu código parece estar bien estructurado y cumple con los requisitos básicos para un sistema bancario simple en Java. Sin embargo, hay un pequeño error tipográfico en el texto del menú que podría causar confusión. En la línea donde se muestra el menú, hay un error en la palabra "deseada", que aparece como "dseada".

Además, me gustaría sugerir un par de mejoras para que tu aplicación sea aún más robusta:

  1. Validación de entrada: Actualmente, el programa asume que el usuario siempre ingresará un número entero cuando se le pida una opción del menú. Podrías considerar agregar una validación para manejar entradas no válidas y evitar que el programa falle si el usuario ingresa algo que no sea un número.

  2. Formato de salida: Para mejorar la legibilidad, podrías considerar usar Locale para formatear las cifras monetarias de acuerdo con un formato específico, por ejemplo, el formato de moneda de tu país.

Espero que estas sugerencias te sean útiles. ¡Sigue adelante con tu aprendizaje de Java!

Espero haber ayudado y buenos estudios!