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

[Proyecto] DESAFIO

public class Desafio {

public static void main(String[] args) {
    String nombre = "Tony Stark";
    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 número de la opción deseada ***
            1 - Consultar saldo
            2 - Retirar
            3 - Depositar
            4 - Salir
            """;
    Scanner teclado = new Scanner(System.in);
    while (opcion != 4){
        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 monto que desea retirar?");
                double valorARetirar = teclado.nextDouble();
                if ( valorARetirar > saldo) {
                    System.out.println("Saldo insuficiente");
                } else{
                    saldo = saldo - valorARetirar;
                    System.out.println("El saldo actual es : " + saldo);
                }
                break;
            case 3:
                System.out.println("Cuál es el monto que desea depositar?");
                double valorADepositar = teclado.nextDouble();
                saldo  += valorADepositar ;
                System.out.println("El saldo actual es : " + saldo);
                break;
            case 4:
                System.out.println("Saliendo del programa ,gracias por utilizar nuestros serviciios ");
                break;
            default:
                System.out.println("Opción no valida");
        }
    }
1 respuesta

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

Tu código para el desafío parece estar bastante bien estructurado y funcional. Has implementado un menú interactivo que permite consultar el saldo, retirar y depositar dinero, lo cual es excelente para una aplicación bancaria básica. Sin embargo, aquí hay algunos consejos y mejoras que podrías considerar:

  1. Cerrar el Scanner: Es una buena práctica cerrar el objeto Scanner después de usarlo para liberar los recursos. Puedes hacerlo añadiendo teclado.close(); justo antes de salir del programa.

  2. Validación de entrada: Aunque tu menú maneja bien las opciones válidas, podrías considerar manejar entradas no numéricas para evitar que el programa falle si el usuario ingresa algo que no sea un número.

  3. Formato de salida: Para mejorar la legibilidad, podrías formatear el saldo para que siempre muestre dos decimales. Esto se puede hacer utilizando String.format(), por ejemplo: System.out.println("El saldo actualizado es : " + String.format("%.2f", saldo) + "$");.

Aquí tienes un ejemplo de cómo podrías implementar estas mejoras:

import java.util.Scanner;

public class Desafio {

    public static void main(String[] args) {
        String nombre = "Tony Stark";
        String tipoDeCuenta = "Corriente";
        double saldo = 1599.99;
        int opcion = 0;
        Scanner teclado = new Scanner(System.in);

        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: " + String.format("%.2f", saldo) + "$");
        System.out.println("\n**************");

        String menu = """
                *** Escriba el número de la opción deseada ***
                1 - Consultar saldo
                2 - Retirar
                3 - Depositar
                4 - Salir
                """;

        while (opcion != 4) {
            System.out.println(menu);
            if (teclado.hasNextInt()) {
                opcion = teclado.nextInt();
                switch (opcion) {
                    case 1:
                        System.out.println("El saldo actualizado es : " + String.format("%.2f", saldo) + "$");
                        break;
                    case 2:
                        System.out.println("Cuál es el monto que desea retirar?");
                        double valorARetirar = teclado.nextDouble();
                        if (valorARetirar > saldo) {
                            System.out.println("Saldo insuficiente");
                        } else {
                            saldo -= valorARetirar;
                            System.out.println("El saldo actual es : " + String.format("%.2f", saldo) + "$");
                        }
                        break;
                    case 3:
                        System.out.println("Cuál es el monto que desea depositar?");
                        double valorADepositar = teclado.nextDouble();
                        saldo += valorADepositar;
                        System.out.println("El saldo actual es : " + String.format("%.2f", saldo) + "$");
                        break;
                    case 4:
                        System.out.println("Saliendo del programa, gracias por utilizar nuestros servicios.");
                        break;
                    default:
                        System.out.println("Opción no válida");
                }
            } else {
                System.out.println("Por favor, ingrese un número válido.");
                teclado.next(); // Limpiar la entrada no válida
            }
        }
        teclado.close();
    }
}

Espero que estas sugerencias te sean útiles. ¡Espero haber ayudado y buenos estudios!