-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLibraryManagementSystem.java
More file actions
148 lines (132 loc) · 4.63 KB
/
LibraryManagementSystem.java
File metadata and controls
148 lines (132 loc) · 4.63 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
142
143
144
145
146
147
148
package Daily_Problem;
import java.util.ArrayList;
import java.util.Scanner;
public class LibraryManagementSystem {
private static class Book {
private String title;
private String author;
private String isbn;
private boolean isAvailable;
public Book(String title, String author, String isbn) {
this.title = title;
this.author = author;
this.isbn = isbn;
this.isAvailable = true;
}
// Getters and Setters
public String getTitle() {
return title;
}
public String getAuthor() {
return author;
}
public String getIsbn() {
return isbn;
}
public boolean isAvailable() {
return isAvailable;
}
public void setAvailable(boolean available) {
isAvailable = available;
}
@Override
public String toString() {
return "Book{" +
"title='" + title + '\'' +
", author='" + author + '\'' +
", isbn='" + isbn + '\'' +
", isAvailable=" + isAvailable +
'}';
}
}
private static ArrayList<Book> books = new ArrayList<>();
private static Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
int choice;
do {
System.out.println("\nLibrary Management System");
System.out.println("1. Add Book");
System.out.println("2. Remove Book");
System.out.println("3. Search Book");
System.out.println("4. Borrow Book");
System.out.println("5. Return Book");
System.out.println("6. Exit");
System.out.print("Enter your choice: ");
choice = scanner.nextInt();
scanner.nextLine(); // Consume newline
switch (choice) {
case 1:
addBook();
break;
case 2:
removeBook();
break;
case 3:
searchBook();
break;
case 4:
borrowBook();
break;
case 5:
returnBook();
break;
case 6:
System.out.println("Exiting...");
break;
default:
System.out.println("Invalid choice! Please try again.");
}
} while (choice != 6);
}
private static void addBook() {
System.out.print("Enter title: ");
String title = scanner.nextLine();
System.out.print("Enter author: ");
String author = scanner.nextLine();
System.out.print("Enter ISBN: ");
String isbn = scanner.nextLine();
books.add(new Book(title, author, isbn));
System.out.println("Book added successfully!");
}
private static void removeBook() {
System.out.print("Enter ISBN: ");
String isbn = scanner.nextLine();
books.removeIf(book -> book.getIsbn().equals(isbn));
System.out.println("Book removed successfully!");
}
private static void searchBook() {
System.out.print("Enter title: ");
String title = scanner.nextLine();
for (Book book : books) {
if (book.getTitle().equalsIgnoreCase(title)) {
System.out.println("Book found: " + book);
return;
}
}
System.out.println("Book not found.");
}
private static void borrowBook() {
System.out.print("Enter ISBN: ");
String isbn = scanner.nextLine();
for (Book book : books) {
if (book.getIsbn().equals(isbn) && book.isAvailable()) {
book.setAvailable(false);
System.out.println("Book borrowed successfully!");
return;
}
}
System.out.println("Book not found or already borrowed.");
}
private static void returnBook() {
System.out.print("Enter ISBN: ");
String isbn = scanner.nextLine();
for (Book book : books) {
if (book.getIsbn().equals(isbn) && !book.isAvailable()) {
book.setAvailable(true);
System.out.println("Book returned successfully!");
return;
}
}
System.out.println("Book not found or not borrowed.");
}
}