0% encontró este documento útil (0 votos)
3 vistas25 páginas

Software de Java

El documento presenta una implementación de un sistema de gestión de biblioteca en Java, que incluye clases para Biblioteca, Libro y Usuario. La clase Biblioteca permite agregar libros y usuarios, buscar libros por ISBN, prestar y devolver libros, y mostrar libros disponibles. La clase Libro contiene información sobre el título, autor, ISBN y estado de disponibilidad, mientras que la clase Usuario gestiona el ID, nombre y el historial de préstamos.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
3 vistas25 páginas

Software de Java

El documento presenta una implementación de un sistema de gestión de biblioteca en Java, que incluye clases para Biblioteca, Libro y Usuario. La clase Biblioteca permite agregar libros y usuarios, buscar libros por ISBN, prestar y devolver libros, y mostrar libros disponibles. La clase Libro contiene información sobre el título, autor, ISBN y estado de disponibilidad, mientras que la clase Usuario gestiona el ID, nombre y el historial de préstamos.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

package trabajoClasesObjetos;

import [Link];

import [Link];

import [Link];

public class Biblioteca {

private String nombre;

private List<Libro> libros;

private List<Usuario> usuarios;

public Biblioteca() {

[Link] = new ArrayList();

[Link] = new ArrayList();

public Biblioteca(String var1) {

this();

[Link] = var1;

public String getNombre() {

return [Link];

public void setNombre(String var1) {


[Link] = var1;

public List<Libro> getLibros() {

return [Link];

public List<Usuario> getUsuarios() {

return [Link];

public void agregarLibro(Libro var1) {

if (var1 != null) {

[Link](var1);

public void agregarUsuario(Usuario var1) {

if (var1 != null) {

[Link](var1);

public Libro buscarLibroPorIsbn(String var1) {


for(Libro var3 : [Link]) {

if ([Link]().equalsIgnoreCase(var1)) {

return var3;

return null;

public Usuario buscarUsuarioPorId(String var1) {

for(Usuario var3 : [Link]) {

if ([Link]().equalsIgnoreCase(var1)) {

return var3;

return null;

public boolean prestarLibro(String var1, Usuario var2) {

Libro var3 = [Link](var1);

if (var3 == null) {

[Link]("No existe un libro con ISBN " + var1);

return false;

} else if (![Link]()) {

[Link]("El libro ya está prestado.");


return false;

} else {

[Link](false);

[Link](var2);

[Link](var1);

PrintStream var10000 = [Link];

String var10001 = [Link]();

[Link](" Préstamo: '" + var10001 + "' a " + [Link]());

return true;

public boolean devolverLibro(String var1, Usuario var2) {

Libro var3 = [Link](var1);

if (var3 == null) {

[Link]("No existe un libro con ISBN " + var1);

return false;

} else if ([Link]()) {

[Link]("Ese libro no estaba prestado.");

return false;

} else if ([Link]() != null && [Link]().getId().equals([Link]()))


{

[Link](true);

[Link]((Usuario)null);

[Link](var1);

PrintStream var10000 = [Link];


String var10001 = [Link]();

[Link](" Devolución: '" + var10001 + "' de " + [Link]());

return true;

} else {

[Link]("El libro no está asociado al usuario " + [Link]());

return false;

public void mostrarLibrosDisponibles() {

[Link]("\ud83d\udcda Libros disponibles:");

boolean var1 = false;

for(Libro var3 : [Link]) {

if ([Link]()) {

PrintStream var10000 = [Link];

String var10001 = [Link]();

[Link](" - " + var10001 + " (" + [Link]() + ")");

var1 = true;

if (!var1) {

[Link](" (No hay libros disponibles)");

}
}

------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------

package trabajoClasesObjetos;

import [Link];

import [Link];

public class Biblioteca {

private String nombre;

private List<Libro> libros;

private List<Usuario> usuarios;

// Constructor por defecto

public Biblioteca() {

[Link] = new ArrayList<>();

[Link] = new ArrayList<>();


}

// Constructor con parámetros

public Biblioteca(String nombre) {

this();

[Link] = nombre;

// Getters y Setters

public String getNombre() { return nombre; }

public void setNombre(String nombre) { [Link] = nombre; }

public List<Libro> getLibros() { return libros; }

public List<Usuario> getUsuarios() { return usuarios; }

// --- Métodos de gestión ---

public void agregarLibro(Libro libro) {

if (libro != null) [Link](libro);

public void agregarUsuario(Usuario usuario) {

if (usuario != null) [Link](usuario);

public Libro buscarLibroPorIsbn(String isbn) {

for (Libro l : libros) if ([Link]().equalsIgnoreCase(isbn)) return l;

return null;
}

public Usuario buscarUsuarioPorId(String id) {

for (Usuario u : usuarios) if ([Link]().equalsIgnoreCase(id)) return u;

return null;

// --- Funcionalidad principal ---

public boolean prestarLibro(String isbn, Usuario usuario) {

Libro libro = buscarLibroPorIsbn(isbn);

if (libro == null) {

[Link]("No existe un libro con ISBN " + isbn);

return false;

if (![Link]()) {

[Link]("El libro ya está prestado.");

return false;

[Link](false);

[Link](usuario);

[Link](isbn);

[Link](" Préstamo: '" + [Link]() + "' a " + [Link]());

return true;

public boolean devolverLibro(String isbn, Usuario usuario) {


Libro libro = buscarLibroPorIsbn(isbn);

if (libro == null) {

[Link]("No existe un libro con ISBN " + isbn);

return false;

if ([Link]()) {

[Link]("Ese libro no estaba prestado.");

return false;

if ([Link]() == null || ![Link]().getId().equals([Link]())) {

[Link]("El libro no está asociado al usuario " + [Link]());

return false;

[Link](true);

[Link](null);

[Link](isbn);

[Link](" Devolución: '" + [Link]() + "' de " +


[Link]());

return true;

public void mostrarLibrosDisponibles() {

[Link](" Libros disponibles:");

boolean alguno = false;

for (Libro l : libros) {

if ([Link]()) {
[Link](" - " + [Link]() + " (" + [Link]() + ")");

alguno = true;

if (!alguno) [Link](" (No hay libros disponibles)");

------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------

package trabajoClasesObjetos;

public class Libro {

private String titulo;

private String autor;

private String isbn;

private boolean disponible = true;

private Usuario prestadoA;

// constructor por defecto

public Libro(){}

// constructor con parametros


public Libro(String titulo, String autor, String isbn){

[Link] = titulo;

[Link] = autor;

[Link] = isbn;

[Link] = true;

[Link] = null;

//Getters y Setters

public String getTitulo (){return titulo;}

public void setTitulo (String titulo){[Link] = titulo;}

public String getAutor (){return autor;}

public void setAutor (String autor){[Link] = autor;}

public String getIsbn (){return isbn;}

public void setIsbn (String isbn){[Link] = isbn;}

public boolean isDisponible() { return disponible; }

public void setDisponible(boolean disponible) { [Link] = disponible; }

public Usuario getPrestadoA() { return prestadoA; }

public void setPrestadoA(Usuario prestadoA) { [Link] = prestadoA; }

@Override

public String toString() {

String estado = disponible ? "Disponible"

: "Prestado a " + (prestadoA != null ? [Link]() : "N/A");

return "Libro{titulo='" + titulo + "', autor='" + autor +

"', isbn='" + isbn + "', estado=" + estado + "}";


}

------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------

package trabajoClasesObjetos;

public class Libro {

private String titulo;

private String autor;

private String isbn;

private boolean disponible = true;

private Usuario prestadoA;

public Libro() {

public Libro(String var1, String var2, String var3) {

[Link] = var1;

[Link] = var2;

[Link] = var3;

[Link] = true;

[Link] = null;

}
public String getTitulo() {

return [Link];

public void setTitulo(String var1) {

[Link] = var1;

public String getAutor() {

return [Link];

public void setAutor(String var1) {

[Link] = var1;

public String getIsbn() {

return [Link];

public void setIsbn(String var1) {

[Link] = var1;

public boolean isDisponible() {


return [Link];

public void setDisponible(boolean var1) {

[Link] = var1;

public Usuario getPrestadoA() {

return [Link];

public void setPrestadoA(Usuario var1) {

[Link] = var1;

public String toString() {

String var1 = [Link] ? "Disponible" : "Prestado a " + ([Link] != null ?


[Link]() : "N/A");

return "Libro{titulo='" + [Link] + "', autor='" + [Link] + "', isbn='" + [Link] + "',
estado=" + var1 + "}";

------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------

package trabajoClasesObjetos;
import [Link];

public class Main {

public static void main(String[] args) {

Biblioteca bib = new Biblioteca("Biblioteca Central");

// Crea al menos 3 libros y 2 usuarios

[Link](new Libro("Introducción a Java", "A. Pérez", "ISBN-001"));

[Link](new Libro("Estructuras de Datos", "B. Gómez", "ISBN-002"));

[Link](new Libro("Patrones de Diseño", "C. Ruiz", "ISBN-003"));

Usuario u1 = new Usuario("U-01", "Laura");

Usuario u2 = new Usuario("U-02", "Jonathan");

[Link](u1);

[Link](u2);

// Mostrar objetos creados (evidencia para el informe)

[Link]("=== Objetos iniciales ===");

for (Libro l : [Link]()) [Link](l);

for (Usuario u : [Link]()) [Link](u);

Scanner sc = new Scanner([Link]);

int opc;

do {

[Link]("\n===== Menú Biblioteca =====");

[Link]("1. Prestar libro");


[Link]("2. Devolver libro");

[Link]("3. Mostrar libros disponibles");

[Link]("4. Mostrar estado de todos los libros");

[Link]("0. Salir");

[Link]("Seleccione una opción: ");

while (![Link]()) { [Link](); [Link]("Ingrese un número válido: "); }

opc = [Link](); [Link]();

switch (opc) {

case 1 -> {

[Link]("ID de usuario: ");

String id = [Link]();

Usuario u = [Link](id);

if (u == null) { [Link]("Usuario no encontrado."); break; }

[Link]("ISBN del libro: ");

String isbn = [Link]();

[Link](isbn, u);

case 2 -> {

[Link]("ID de usuario: ");

String id = [Link]();

Usuario u = [Link](id);

if (u == null) { [Link]("Usuario no encontrado."); break; }

[Link]("ISBN del libro: ");

String isbn = [Link]();

[Link](isbn, u);
}

case 3 -> [Link]();

case 4 -> {

for (Libro l : [Link]()) [Link](l);

case 0 -> [Link]("¡Hasta luego!");

default -> [Link]("Opción inválida.");

} while (opc != 0);

[Link]();

------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------

package trabajoClasesObjetos;

import [Link];

public class Main {

public static void main(String[] var0) {

Biblioteca var1 = new Biblioteca("Biblioteca Central");

[Link](new Libro("Introducción a Java", "A. Pérez", "ISBN-001"));

[Link](new Libro("Estructuras de Datos", "B. Gómez", "ISBN-002"));


[Link](new Libro("Patrones de Diseño", "C. Ruiz", "ISBN-003"));

Usuario var2 = new Usuario("U-01", "Laura");

Usuario var3 = new Usuario("U-02", "Jonathan");

[Link](var2);

[Link](var3);

[Link]("=== Objetos iniciales ===");

for(Libro var5 : [Link]()) {

[Link](var5);

for(Usuario var11 : [Link]()) {

[Link](var11);

Scanner var10 = new Scanner([Link]);

int var12;

do {

[Link]("\n===== Menú Biblioteca =====");

[Link]("1. Prestar libro");

[Link]("2. Devolver libro");

[Link]("3. Mostrar libros disponibles");

[Link]("4. Mostrar estado de todos los libros");

[Link]("0. Salir");

[Link]("Seleccione una opción: ");


while(![Link]()) {

[Link]();

[Link]("Ingrese un número válido: ");

var12 = [Link]();

[Link]();

switch (var12) {

case 0:

[Link]("¡Hasta luego!");

break;

case 1:

[Link]("ID de usuario: ");

String var14 = [Link]();

Usuario var16 = [Link](var14);

if (var16 == null) {

[Link]("Usuario no encontrado.");

} else {

[Link]("ISBN del libro: ");

String var17 = [Link]();

[Link](var17, var16);

break;

case 2:

[Link]("ID de usuario: ");


String var13 = [Link]();

Usuario var15 = [Link](var13);

if (var15 == null) {

[Link]("Usuario no encontrado.");

} else {

[Link]("ISBN del libro: ");

String var8 = [Link]();

[Link](var8, var15);

break;

case 3:

[Link]();

break;

case 4:

for(Libro var7 : [Link]()) {

[Link](var7);

break;

default:

[Link]("Opción inválida.");

} while(var12 != 0);

[Link]();

}
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------

package trabajoClasesObjetos;

import [Link];

import [Link];

public class Usuario {

private String id;

private String nombre;

private List<String> historialPrestamos; // guardamos ISBN de los libros

// Constructor por defecto

public Usuario() {

[Link] = new ArrayList<>();

// Constructor con parámetros

public Usuario(String id, String nombre) {

[Link] = id;

[Link] = nombre;

[Link] = new ArrayList<>();

// Getters y Setters

public String getId() { return id; }


public void setId(String id) { [Link] = id; }

public String getNombre() { return nombre; }

public void setNombre(String nombre) { [Link] = nombre; }

public List<String> getHistorialPrestamos() { return historialPrestamos; }

public void agregarPrestamo(String isbn) {

if (![Link](isbn)) [Link](isbn);

public void devolverPrestamo(String isbn) {

[Link](isbn);

@Override

public String toString() {

return "Usuario{id='" + id + "', nombre='" + nombre +

"', prestamos=" + historialPrestamos + "}";

------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------

package trabajoClasesObjetos;
import [Link];

import [Link];

public class Usuario {

private String id;

private String nombre;

private List<String> historialPrestamos;

public Usuario() {

[Link] = new ArrayList();

public Usuario(String var1, String var2) {

[Link] = var1;

[Link] = var2;

[Link] = new ArrayList();

public String getId() {

return [Link];

public void setId(String var1) {

[Link] = var1;

}
public String getNombre() {

return [Link];

public void setNombre(String var1) {

[Link] = var1;

public List<String> getHistorialPrestamos() {

return [Link];

public void agregarPrestamo(String var1) {

if (![Link](var1)) {

[Link](var1);

public void devolverPrestamo(String var1) {

[Link](var1);

public String toString() {

String var10000 = [Link];


return "Usuario{id='" + var10000 + "', nombre='" + [Link] + "', prestamos=" +
[Link]([Link]) + "}";

También podría gustarte