Eiza Imtiaz(BSGSF23M33)
Zumaira Noor(BSGSF23A24)
Usman Ali(BSGSF23M20)
Topic:Library management System
Classes:(5)
1. Main class
2. Library class
3. Book class
4. User class
5. Transaction class
6. Electronics class
Bonus:Arraylist
1. Main class
main(String[] args):
Initializes Library, Book, User, Electronics, and Transaction.
Variables used:
o Library
o Book
o User
o Electronics
o Transaction.
Code:
import [Link];
import [Link];
import [Link];
)public class Lbms_Eiza {
public static void main(String[] args) {
Library library = new Library();
[Link]:
Variables:
ArrayList<Book> books
ArrayList<User> users,
ArrayList<Electronics> electronics: Collections of library items.
static int totalBooksIssued: Tracks issued books.
Methods:
o Add methods:
o addBook(Book)
o addUser(User)
o addElectronics(Electronics).
o Get methods:
o getElectronics().
o Book management: issueBook(String, String),
returnBook(String).
Code:
import [Link];
public class Library {
ArrayList<Book> books = new ArrayList<>();
ArrayList<User> users = new ArrayList<>();
ArrayList<Electronics>electronics = new ArrayList<>();
private static int totalBooksIssued = 0;
public Library() {
[Link] = new ArrayList<>();
[Link] = new ArrayList<>();
[Link] = new ArrayList<>();
}
public void addBook(Book book) {
[Link](book);
}
public void addUser(User user) {
[Link](user);
}
public void addElectronics(Electronics device) {
[Link](device);
}
public ArrayList<Electronics> getElectronics() {
return electronics;
}
public void issueBook(String isbn, String userId) {
for (Book book : books) {
if ([Link]().equals(isbn) && [Link]()) {
[Link](false);
[Link]("Book issued successfully.");
return;
}
}
[Link]("Book is not available.");
}
public void returnBook(String isbn) {
for (Book book : books) {
if ([Link]().equals(isbn)) {
[Link](true);
[Link]("Book returned successfully.");
return;
}
}
[Link]("Book not found.");
}
}
[Link]:
Variables:
String title
String author
String isbn: Book details.
boolean isIssued
boolean isAvailable: Status of the book.
Methods:
Getters:
getTitle()
getAuthor()
getIsbn()
isAvailable()
isIssued().
Setters:
setAvailability(boolean)
setIssued(boolean).
toString(): Provides a formatted string representation of the book.
Code:
public class Book {
private String title;
private String author;
private String isbn;
private boolean isIssued;
private boolean isAvailable;
public Book(String title, String author, String isbn) {
[Link] = title;
[Link] = author;
[Link] = isbn;
[Link] = false;
[Link] = true;
}
public String getTitle() {
return title;
}
public String getAuthor() {
return author;
}
public String getIsbn() {
return isbn;
}
public boolean isAvailable() {
return isAvailable;
}
public boolean isIssued() {
return isIssued;
}
public void setAvailability(boolean availability) {
isAvailable = availability;
}
public void setIssued(boolean issued) {
isIssued = issued;
}
@Override
public String toString() {
return "Title: " + title + ", Author: " + author + ", ISBN: " + isbn + ",
Issued: " + isIssued;
}
}
[Link]:
Variables:
String name
int userId: User details.
static int totalUsers: Tracks the number of users.
Book borrowed: Book currently borrowed by the user.
Methods:
Getters:
getName()
getUserId()
getBorrowed().
Setter:
setBorrowed(Book).
Static method: getTotalUsers().
toString(): Provides a formatted string representation of the user.
Code:
public class User {
private String name;
private int userId;
private static int totalUsers = 0;
private Book borrowed;
public User(String name, int userId) {
[Link] = name;
[Link] = userId;
[Link] = null;
totalUsers++;
}
public String getName() {
return name;
}
public int getUserId() {
return userId;
}
public Book getBorrowed() {
return borrowed;
}
public void setBorrowed(Book book) {
borrowed = book;
}
public static int getTotalUsers() { // Static method
return totalUsers;
}
@Override
public String toString() {
return "User ID: " + userId + ", Name: " + name;
}
}
[Link]:
Variables:
String transactionId: Unique ID.
User user: User involved in the transaction.
Book book: Book involved in the transaction.
Date issueDate
Date returnDate: Transaction dates.
Methods:
Getters: getTransactionId()
getUser(),
getBook().
Setter:
setReturnDate(Date).
toString(): Provides a summary of the transaction.
Code:
import [Link];
public class Transaction {
private String transactionId;
private User user;
private Book book;
private Date issueDate;
private Date returnDate;
public Transaction(String transactionId, User user, Book book, Date
issueDate) {
[Link] = transactionId;
[Link] = user;
[Link] = book;
[Link] = issueDate;
}
public void setReturnDate(Date returnDate) {
[Link] = returnDate;
}
public String getTransactionId() {
return transactionId;
}
public User getUser() {
return user;
}
public Book getBook() {
return book;
}
@Override
public String toString() {
return "User" + user + " Book: " + book+ "issueDate" + issueDate;
}
}
[Link]:
Variables:
String name
String serialNumber
boolean isAvailable: Availability status.
Methods:
Getters:
getName()
getSerialNumber()
isAvailable().
Setter:
setAvailable(boolean).
toString(): Provides a formatted string representation of the electronic item.
Code:
public class Electronics {
private String name;
private String serialNumber;
private boolean isAvailable;
public Electronics(String name, String serialNumber) {
[Link] = name;
[Link] = serialNumber;
[Link] = true;
}
public String getName() {
return name;
}
public String getSerialNumber() {
return serialNumber;
}
public boolean isAvailable() {
return isAvailable;
}
public void setAvailable(boolean available) {
isAvailable = available;
}
@Override
public String toString() {
return "Name" + name + ", SerialNumber " + serialNumber;
}
}