-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMain.java
More file actions
141 lines (119 loc) · 5.02 KB
/
Main.java
File metadata and controls
141 lines (119 loc) · 5.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
// Main.java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Biblioteca biblioteca = new Biblioteca();
// Inicializar datos de prueba
biblioteca.inicializarDatosDePrueba();
int opcion;
do {
mostrarMenu();
System.out.print("Seleccione una opción: ");
opcion = scanner.nextInt();
scanner.nextLine(); // Consumir el salto de línea
switch (opcion) {
case 1:
biblioteca.listarTodosLosRecursos();
break;
case 2:
biblioteca.listarLibrosDisponibles();
break;
case 3:
biblioteca.listarRevistasDisponibles();
break;
case 4:
prestarRecurso(scanner, biblioteca);
break;
case 5:
devolverRecurso(scanner, biblioteca);
break;
case 6:
verRecursosPrestados(scanner, biblioteca);
break;
case 0:
System.out.println("¡Gracias por usar el Sistema de Gestión de Biblioteca!");
break;
default:
System.out.println("Opción no válida. Intente de nuevo.");
}
System.out.println(); // Línea en blanco para mejor visualización
} while (opcion != 0);
scanner.close();
}
private static void mostrarMenu() {
System.out.println("=== SISTEMA DE GESTIÓN DE BIBLIOTECA ===");
System.out.println("1. Listar todos los recursos");
System.out.println("2. Listar libros disponibles");
System.out.println("3. Listar revistas disponibles");
System.out.println("4. Prestar recurso");
System.out.println("5. Devolver recurso");
System.out.println("6. Ver recursos prestados por usuario");
System.out.println("0. Salir");
System.out.println("=======================================");
}
private static void prestarRecurso(Scanner scanner, Biblioteca biblioteca) {
System.out.print("Ingrese el nombre del usuario: ");
String nombreUsuario = scanner.nextLine();
Usuario usuario = biblioteca.buscarUsuarioPorNombre(nombreUsuario);
if (usuario == null) {
System.out.println("Usuario no encontrado. ¿Desea crear un nuevo usuario? (s/n)");
String respuesta = scanner.nextLine();
if (respuesta.equalsIgnoreCase("s")) {
usuario = new Usuario(nombreUsuario);
biblioteca.agregarUsuario(usuario);
System.out.println("Usuario creado exitosamente.");
} else {
return;
}
}
System.out.print("Ingrese el ID del recurso a prestar: ");
String idRecurso = scanner.nextLine();
RecursoBibliografico recurso = biblioteca.buscarRecursoPorId(idRecurso);
if (recurso == null) {
System.out.println("Recurso no encontrado.");
return;
}
if (usuario.prestarRecurso(recurso)) {
System.out.println("Recurso prestado exitosamente.");
} else {
System.out.println("No se pudo prestar el recurso. Verifique si está disponible.");
}
}
private static void devolverRecurso(Scanner scanner, Biblioteca biblioteca) {
System.out.print("Ingrese el nombre del usuario: ");
String nombreUsuario = scanner.nextLine();
Usuario usuario = biblioteca.buscarUsuarioPorNombre(nombreUsuario);
if (usuario == null) {
System.out.println("Usuario no encontrado.");
return;
}
if (usuario.getRecursosPrestados().isEmpty()) {
System.out.println("El usuario no tiene recursos prestados.");
return;
}
usuario.mostrarRecursosPrestados();
System.out.print("Ingrese el ID del recurso a devolver: ");
String idRecurso = scanner.nextLine();
RecursoBibliografico recurso = biblioteca.buscarRecursoPorId(idRecurso);
if (recurso == null) {
System.out.println("Recurso no encontrado.");
return;
}
if (usuario.devolverRecurso(recurso)) {
System.out.println("Recurso devuelto exitosamente.");
} else {
System.out.println("No se pudo devolver el recurso. Verifique que el usuario tenga este recurso prestado.");
}
}
private static void verRecursosPrestados(Scanner scanner, Biblioteca biblioteca) {
System.out.print("Ingrese el nombre del usuario: ");
String nombreUsuario = scanner.nextLine();
Usuario usuario = biblioteca.buscarUsuarioPorNombre(nombreUsuario);
if (usuario == null) {
System.out.println("Usuario no encontrado.");
return;
}
usuario.mostrarRecursosPrestados();
}
}