Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

[Proyecto] Interfaz cajero

Hice este codigo antes de ver los siguientes videos, acepto sugerencias para mejorar el mismo

import java.util.Scanner;

public class proyectoAlura{
    public static void main(String[] args) {
        Scanner usuario = new Scanner(System.in);

        int opcion=0;
        double saldo=2000;
        double operacion=0;
        String nombre;

        System.out.println("Ingrese su nombre: ");
        nombre = usuario.nextLine();


        System.out.println(String.format("\nBienvenido(a) Sr(a). %s", nombre));
        System.out.println("Tipo de cuenta: Corriente");
        System.out.println("");
        System.out.println("**********************************");

        while (opcion!=9) {
            System.out.println("\nFavor seleccione una opcion");
            System.out.println("""
                                    1. Revisar fondos disponibles
                                    2. Retirar fondos
                                    3. Depositar fondos
                                    9. Salir
                                    """);
            opcion = usuario.nextInt();

            switch (opcion) {
                case 1:
                    System.out.println(String.format("Sus fondos actuales son de: %.2f$", saldo)); 
                    break;

                case 2:
                    System.out.println("Ingrese la cantidad que desea retirar: ");
                    operacion = usuario.nextDouble();

                    while ((operacion > saldo) || (operacion < 0)) {
                        System.out.println("Operacion invalida");
                        System.out.println(String.format("Saldo Actual: %.2f$", saldo));
                        System.out.println("Ingrese una cantidad valida o cero para cancelar la operacion");
                        operacion = usuario.nextDouble();
                    }
                    if ((operacion < saldo) && operacion != 0) {
                        saldo -= operacion;
                        System.out.println("Operacion exitosa");
                        System.out.println(String.format("Su nuevo saldo es de: %.2f$", saldo));
                                                            
                    } else {
                        System.out.println("Operacion cancelada");
                        break;
                    }
                    break;

                case 3:
                    System.out.println("\nIngrese la cantidad a depositar");
                    operacion = usuario.nextDouble();

                    if (operacion < 0) {
                        System.out.println("Monto invalido");
                        break;
                    }

                    saldo += operacion;

                    System.out.println(String.format("\nSu nuevo saldo actual es de: %.2f$", saldo));
                    break;

                case 9:
                    System.out.println(String.format("\nGracias por preferirnos Sr(a). %s!", nombre));
                    break;
                default:
                    System.out.println("Opcion invalida");	
            }
        }
    }
}
1 respuesta
solución!

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

He revisado tu código y veo que has hecho un buen trabajo al crear un programa para simular un cajero automático. Sin embargo, hay algunas sugerencias que podrían mejorar tu código:

  1. Validación de entrada: Sería bueno agregar validaciones para asegurarse de que el usuario ingrese valores válidos. Por ejemplo, al solicitar la cantidad a retirar o depositar, podrías validar que se ingrese un número positivo.

  2. Mensajes claros: Los mensajes que imprimes en la consola son importantes para comunicarte con el usuario. Asegúrate de que sean claros y descriptivos, para que el usuario sepa qué está sucediendo en cada paso.

  3. Separación de responsabilidades: Puedes considerar separar las diferentes funcionalidades en métodos más pequeños para que tu código sea más legible y fácil de mantener.

  4. Manejo de errores: Sería útil agregar manejo de errores para situaciones inesperadas, como por ejemplo si el usuario ingresa un valor no numérico.

Espero que estas sugerencias te sean de ayuda para mejorar tu proyecto. ¡Y no dudes en seguir adelante con el desafío propuesto por el curso!

¡Buena suerte y sigue adelante con tu aprendizaje! Si tienes alguna otra pregunta, no dudes en preguntar.

Espero haber ayudado y buenos estudios!