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

[Proyecto] Desafío Proyecto final

Holaaa, aqui esta mi código del desafío final :D

import java.util.Scanner;

public class Desafio {
    public static void main(String[] args) {
        Scanner teclado = new Scanner(System.in);
        String nombreusuario = "Tony Stark";
        String tipoDeCuenta = "Normal";
        double saldoUsuario = 1963.3; //Fecha de la primera aparción de Iron Man, con su mes jaja
        String menu = """
               ================= Menú =====================
               ----- Elija una opción: ------
               1.- Saldo Disponible
               2.- Retirar efectivo
               3.- Depositar efectivo
               9.- Salir """;

        int opcionElegida = 0;

        System.out.println("============================================");
        System.out.println("Cliente: " + nombreusuario);
        System.out.println("Tipo de Cuenta: " + tipoDeCuenta);
        System.out.println();

        while (opcionElegida != 9) {
            System.out.println(menu);

            System.out.printf("Opción elegida: ");
            opcionElegida = teclado.nextInt();

        switch (opcionElegida){
            case 1:
                System.out.println(String.format("%nSu saldo actual es de: $" + saldoUsuario));
                break;
            case 2:
                System.out.println();
                System.out.printf("Ingrese el saldo que deseé retirar: ");
                double saldoRetiro = teclado.nextDouble();
                if (saldoRetiro > saldoUsuario){
                    System.out.println(String.format("%nSaldo Insuficiente%n"));
                } else {
                saldoUsuario -= saldoRetiro;
                System.out.println(String.format("%nEl saldo actual es de: $%.1f", saldoUsuario));
                }
                break;
            case 3:
                System.out.println();
                System.out.printf("Ingrese el saldo que deseé a depositar: ");
                double saldoDeposito = teclado.nextDouble();
                saldoUsuario += saldoDeposito;
                System.out.println(String.format("%nEl saldo actual es de: $%.1f", saldoUsuario));
                break;
            case 9:
                System.out.println(String.format("%n¡Hasta luego " + nombreusuario + "!"));
                break;
            default:
                System.out.println(String.format("%nEsa no es una opción, vuelva a intentarlo"));
        }
            System.out.println();
        }

        teclado.close();
    }
}
1 respuesta

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

Gracias por compartir tu código. Parece que has hecho un gran trabajo en tu proyecto final. Tu aplicación de menú para gestionar el saldo de una cuenta bancaria se ve bastante completa. Aquí te dejo algunos comentarios y sugerencias que podrían ayudarte a mejorar o ajustar tu código:

  1. Validación de entrada: Actualmente, el programa asume que el usuario siempre ingresará un número válido cuando se le pida una opción o un monto. Podrías considerar agregar validaciones para manejar entradas no válidas. Por ejemplo, si el usuario ingresa una letra en lugar de un número, el programa podría lanzar una excepción.

  2. Formato de impresión: En las líneas donde imprimes mensajes con String.format, podrías usar directamente el método System.out.printf para un formato más limpio. Por ejemplo:

    System.out.printf("%nEl saldo actual es de: $%.1f%n", saldoUsuario);
    
  3. Claridad del menú: Podrías considerar agregar un mensaje de bienvenida al inicio del programa para que el usuario sepa que está entrando a un sistema de gestión de cuentas.

  4. Separación de lógica: Para mejorar la legibilidad y mantenimiento del código, podrías separar la lógica de cada opción del menú en métodos diferentes. Esto haría que el main sea más limpio y cada método se encargue de una tarea específica.

  5. Uso de constantes: Puedes definir las opciones del menú como constantes para evitar el uso de números mágicos. Por ejemplo:

    final int SALDO_DISPONIBLE = 1;
    final int RETIRAR_EFECTIVO = 2;
    final int DEPOSITAR_EFECTIVO = 3;
    final int SALIR = 9;
    

Espero que estas sugerencias te sean útiles. Continúa experimentando y mejorando tu código. ¡Estoy seguro de que harás un excelente trabajo!

Espero haber ayudado y buenos estudios!