Hola Enmanuel, espero que estés bien
¡Espero que estés bien! He revisado tu código y parece que estás trabajando en un proyecto para gestionar compras con una tarjeta de crédito. Todo parece estar bastante bien estructurado. Sin embargo, aquí hay algunas sugerencias que podrían ayudarte a mejorar o verificar el funcionamiento de tu código:
Verificación de Entrada: Asegúrate de manejar posibles excepciones cuando el usuario introduce datos. Por ejemplo, si el usuario introduce un valor no numérico cuando se espera un número, el programa podría lanzar una excepción. Podrías usar un try-catch
para manejar estas situaciones.
try {
int limite = scanner.nextInt();
} catch (InputMismatchException e) {
System.out.println("Por favor, ingrese un número válido.");
scanner.next(); // Limpiar el scanner
continue; // Volver a pedir la entrada
}
Validación de Opción: Cuando pides al usuario que introduzca 0
para salir o 1
para continuar, asegúrate de que no introduzca otro número. Puedes agregar una verificación adicional:
while (opcion != 0 && opcion != 1) {
System.out.println("Opción no válida. Escriba 0 para salir o 1 para continuar");
opcion = scanner.nextInt();
scanner.nextLine();
}
Uso de Collections.sort
: Estás utilizando Collections.sort(lista);
para ordenar las compras por descripción. Si prefieres ordenar por monto, puedes modificar el método compareTo
en la clase Compra
:
@Override
public int compareTo(Compra otraCompra) {
return Double.compare(this.getPrecio(), otraCompra.getPrecio());
}
Consistencia en los Nombres de Métodos: En la clase Compra
, los métodos setNombre
y getNombre
podrían ser renombrados a setDescripcion
y getDescripcion
para mantener la consistencia con el nombre del atributo descripcion
.
Espero que estas sugerencias te sean útiles. ¡Sigue adelante con tu proyecto y disfruta del proceso de aprendizaje!
Espero haber ayudado y buenos estudios!