From 5ecf2f94e435d14648df52cfe2ae59a992b10712 Mon Sep 17 00:00:00 2001 From: Navid-Naserazad <126415333+Navid-Naserazad@users.noreply.github.com> Date: Wed, 8 Mar 2023 11:03:31 +0330 Subject: [PATCH 1/6] first commit --- src/main/java/Book.java | 65 +++++++++++ src/main/java/Librarian.java | 50 ++++++++- src/main/java/Library.java | 202 ++++++++++++++++++++++++++++++----- src/main/java/Main.java | 9 +- src/main/java/User.java | 84 ++++++++++++++- 5 files changed, 375 insertions(+), 35 deletions(-) diff --git a/src/main/java/Book.java b/src/main/java/Book.java index 7cff6f8..17ee3ca 100644 --- a/src/main/java/Book.java +++ b/src/main/java/Book.java @@ -1,3 +1,68 @@ public class Book { //Book should contain name,author,year of publish and ISBN + private String name; + private String author; + private int yearOfPublish; + private String ISBN; + private Boolean isAvailable = true; + public Book(String name, String author, int yearOfPublish, String ISBN) + { + this.name = name; + this.author = author; + this.yearOfPublish = yearOfPublish; + this.ISBN = ISBN; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getAuthor() { + return author; + } + + public void setAuthor(String author) { + this.author = author; + } + + public int getYearOfPublish() { + return yearOfPublish; + } + + public void setYearOfPublish(int yearOfPublish) { + this.yearOfPublish = yearOfPublish; + } + + public String getISBN() { + return ISBN; + } + + public void setISBN(String ISBN) { + this.ISBN = ISBN; + } + + public Boolean getAvailable() { + return isAvailable; + } + + public void setAvailable(Boolean available) { + isAvailable = available; + } + + public String toString() + { + return "Name : " + name + "" + + "Author : " + author + "" + + "Year of publish : " + yearOfPublish + "" + + "ISBN : " + ISBN + "" + + "Is available ? " + isAvailable; + } + + public void changeAvailableStatus(){ + this.isAvailable = !isAvailable; + } } diff --git a/src/main/java/Librarian.java b/src/main/java/Librarian.java index 321ce3a..5987f02 100644 --- a/src/main/java/Librarian.java +++ b/src/main/java/Librarian.java @@ -1,10 +1,58 @@ -public class Librarian { +import java.util.Scanner; + +public class Librarian +{ /* * The librarian should have a username and a password * The librarian should be able to search users, librarians and books * The librarian should be able to add\remove\update user add\remove\update_ _ librarian and add\remove\update book */ + Scanner input = new Scanner(System.in); + + private String username; + private String password; + public Librarian(String username, String password) + { + this.username = username; + this.password = password; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + public void changePassword(){ + System.out.println("Enter your currenct password :"); + String currentPassword = input.nextLine(); + if (currentPassword.equals(getPassword())) + { + System.out.println("Enter your new password :"); + String newPassword = input.nextLine(); + this.password = newPassword; + } + else + { + System.out.println("Wrong password!"); + changePassword(); + } + } + public String toString() + { + return "Librarian's username : " + username + "" + + "Librarian's password : " + password; + } } diff --git a/src/main/java/Library.java b/src/main/java/Library.java index 6c34354..1316b61 100644 --- a/src/main/java/Library.java +++ b/src/main/java/Library.java @@ -1,3 +1,5 @@ +import java.util.ArrayList; +import java.util.Scanner; public class Library { /* * The library should have a list of books. @@ -7,25 +9,84 @@ public class Library { */ //book related functions - - public void addBook(){ - //TODO - } - - public void removeBook(){ - //TODO - } - - public void searchBook(){ - //TODO - } - - public void updateBook(){ - //TODO - } - - public void doesBookExist(){ - //TODO + ArrayList books = new ArrayList<>(); + ArrayList users = new ArrayList<>(); + ArrayList librarians = new ArrayList<>(); + + Scanner input = new Scanner(System.in); + + public void addBook(Book ketab){ + if (!doesBookExist(ketab)) + { + books.add(ketab); + } + else + { + System.out.println("We have already had this book!"); + } + } + + public void removeBook(Book ketab){ + if (doesBookExist(ketab)) + { + for (int i=0; i rentBooks = new ArrayList<>(); + + public void rentBook(Library ketabkhune , Book ketab){ //TODO + if (ketabkhune.doesBookExist(ketab)) + { + if (ketab.getAvailable()) + { + rentBooks.add(ketab); + ketabkhune.updateBook(ketab); + } + else + { + System.out.println("This book is not available!"); + } + } + else + { + System.out.println("This book does not exist!"); + } } - public void returnBook(){ + public void returnBook(Library ketabkhune , Book ketab){ //TODO + for (int i=0; i Date: Wed, 8 Mar 2023 17:39:50 +0330 Subject: [PATCH 2/6] second commit --- src/main/java/Book.java | 4 +- src/main/java/Librarian.java | 9 +- src/main/java/Library.java | 73 ++++++-- src/main/java/Main.java | 325 ++++++++++++++++++++++++++++++++++- src/main/java/User.java | 17 +- 5 files changed, 409 insertions(+), 19 deletions(-) diff --git a/src/main/java/Book.java b/src/main/java/Book.java index 17ee3ca..c00e7df 100644 --- a/src/main/java/Book.java +++ b/src/main/java/Book.java @@ -5,13 +5,13 @@ public class Book { private int yearOfPublish; private String ISBN; private Boolean isAvailable = true; - public Book(String name, String author, int yearOfPublish, String ISBN) + /* public Book(String name, String author, int yearOfPublish, String ISBN) { this.name = name; this.author = author; this.yearOfPublish = yearOfPublish; this.ISBN = ISBN; - } + }*/ public String getName() { return name; diff --git a/src/main/java/Librarian.java b/src/main/java/Librarian.java index 5987f02..42791f8 100644 --- a/src/main/java/Librarian.java +++ b/src/main/java/Librarian.java @@ -5,18 +5,18 @@ public class Librarian /* * The librarian should have a username and a password * The librarian should be able to search users, librarians and books - * The librarian should be able to add\remove\update user add\remove\update_ - _ librarian and add\remove\update book + * The librarian should be able to add\remove\ update user add\remove\ update_ + _ librarian and add\remove\ update book */ Scanner input = new Scanner(System.in); private String username; private String password; - public Librarian(String username, String password) + /* public Librarian(String username, String password) { this.username = username; this.password = password; - } + }*/ public String getUsername() { return username; @@ -50,6 +50,7 @@ public void changePassword(){ } } + public String toString() { return "Librarian's username : " + username + "" + diff --git a/src/main/java/Library.java b/src/main/java/Library.java index 1316b61..2875c7e 100644 --- a/src/main/java/Library.java +++ b/src/main/java/Library.java @@ -1,5 +1,7 @@ import java.util.ArrayList; import java.util.Scanner; +import java.util.HashMap; + public class Library { /* * The library should have a list of books. @@ -15,10 +17,13 @@ public class Library { Scanner input = new Scanner(System.in); + HashMap numberOfBooks = new HashMap(); + public void addBook(Book ketab){ if (!doesBookExist(ketab)) { books.add(ketab); + increaseBook(ketab); } else { @@ -34,6 +39,7 @@ public void removeBook(Book ketab){ if (ketab.getISBN().equals(books.get(i).getISBN())) { books.remove(i); + decreaseBook(ketab); break; } } @@ -44,16 +50,16 @@ public void removeBook(Book ketab){ } } - public void searchBook(Book ketab){ + public String searchBook(Book ketab){ //TODO - if (doesBookExist(ketab)) - { - System.out.println(ketab); - } - else + for (int i=0; i Date: Wed, 8 Mar 2023 21:20:58 +0330 Subject: [PATCH 3/6] third commit --- src/main/java/Main.java | 234 +++++++++++++++++++++++----------------- 1 file changed, 135 insertions(+), 99 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 83d3184..949a726 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -29,14 +29,14 @@ public static void runMenu() System.out.println("2.Librarians"); System.out.println("Enter your command"); System.out.println("command : "); - int command = in.nextInt(); + int command = Integer.parseInt(in.nextLine()); if (command == 1) { System.out.println("1.Sign Up"); System.out.println("2.Sign In"); System.out.println("Enter your command"); System.out.println("command : "); - command = in.nextInt(); + command = Integer.parseInt(in.nextLine()); if (command == 1) { signUpUser(ketabkhune , ketabdar , karbar , ketab); @@ -45,36 +45,14 @@ public static void runMenu() { signInUser(ketabkhune , ketabdar , karbar , ketab); } - System.out.println("1.Borrow book"); - System.out.println("2.Return book"); - System.out.println("3.Update User"); - System.out.println("4.Log out"); - System.out.println("Enter your command"); - System.out.println("command : "); - command = in.nextInt(); - if (command == 1) - { - borrowBook(ketabkhune, karbar, ketab); - } - else if (command == 2) - { - returnBook(ketabkhune, karbar, ketab); - } - else if (command == 3) - { - ketabkhune.updateUser(karbar); - } - else if (command == 4) - { - logOut(); - } + userMenu(ketabkhune, karbar, ketab); } else { System.out.println("1.Sign Up"); System.out.println("2.Sign In"); System.out.println("Enter your command"); - command = in.nextInt(); + command = Integer.parseInt(in.nextLine()); if (command == 1) { signUpLibrarian(ketabkhune , ketabdar , karbar , ketab); @@ -83,80 +61,8 @@ else if (command == 4) { signInLibrarian(ketabkhune , ketabdar , karbar , ketab); } - // Books - System.out.println("1.Add book"); - System.out.println("2.Remove book"); - System.out.println("3.Search book"); - // Users - String usersUsername; - String usersPassword; - System.out.println("4.Add user"); - System.out.println("5.Remove user"); - System.out.println("6.Search user"); - System.out.println("7.Update user"); - // Librarian - System.out.println("8.Update librarian"); - System.out.println("9.Log out"); - System.out.println("Enter your command"); - System.out.println("command : "); - command = in.nextInt(); - switch (command) - { - case 1: + librarianMenu(ketabkhune, karbar, ketab, ketabdar); - ketabkhune.addBook(ketab); - break; - case 2: - ketabkhune.removeBook(ketab); - break; - case 3: - if (ketabkhune.doesBookExist(ketab)) - { - System.out.println(ketab); - } - else - { - System.out.println("This book does not exist!"); - } - break; - case 4: - System.out.println("Enter the user's username"); - System.out.println("Username : "); - usersUsername = in.nextLine(); - karbar.setUsername(usersUsername); - System.out.println("Enter user's password"); - System.out.println("Password : "); - usersPassword = in.nextLine(); - karbar.setPassword(usersPassword); - ketabkhune.addUser(karbar); - break; - case 5: - System.out.println("Enter the user's username"); - System.out.println("Username : "); - usersUsername = in.nextLine(); - karbar.setUsername(usersUsername); - ketabkhune.removeUser(karbar); - break; - case 6: - System.out.println("Enter the user's username"); - System.out.println("Username : "); - usersUsername = in.nextLine(); - karbar.setUsername(usersUsername); - ketabkhune.searchUser(karbar); - break; - case 7: - System.out.println("Enter the user's username"); - System.out.println("Username : "); - usersUsername = in.nextLine(); - karbar.setUsername(usersUsername); - ketabkhune.updateUser(karbar); - break; - case 8: - ketabkhune.updateLibrarian(ketabdar); - break; - case 9: - logOut(); - } } } @@ -339,6 +245,136 @@ public static void logOut() System.out.println("You have logged out!"); runMenu(); } + + public static void userMenu(Library ketabkhune, User karbar, Book ketab) + { + Scanner input = new Scanner(System.in); + System.out.println("1.Borrow book"); + System.out.println("2.Return book"); + System.out.println("3.Update User"); + System.out.println("4.Log out"); + System.out.println("Enter your command"); + System.out.println("command : "); + int command = Integer.parseInt(input.nextLine()); + if (command == 1) + { + borrowBook(ketabkhune, karbar, ketab); + userMenu(ketabkhune, karbar, ketab); + } + else if (command == 2) + { + returnBook(ketabkhune, karbar, ketab); + userMenu(ketabkhune, karbar, ketab); + } + else if (command == 3) + { + ketabkhune.updateUser(karbar); + userMenu(ketabkhune, karbar, ketab); + + } + else if (command == 4) + { + logOut(); + } + } + + public static void librarianMenu(Library ketabkhune, User karbar, Book ketab, Librarian ketabdar) + { + Scanner input = new Scanner(System.in); + // Books + System.out.println("1.Add book"); + System.out.println("2.Remove book"); + System.out.println("3.Search book"); + // Users + String usersUsername; + String usersPassword; + System.out.println("4.Add user"); + System.out.println("5.Remove user"); + System.out.println("6.Search user"); + System.out.println("7.Update user"); + // Librarian + System.out.println("8.Update librarian"); + System.out.println("9.Log out"); + System.out.println("Enter your command"); + System.out.println("command : "); + int command = Integer.parseInt(input.nextLine()); + switch (command) + { + case 1: + System.out.println("Enter book's name"); + System.out.println("Name : "); + String name = input.nextLine(); + ketab.setName(name); + System.out.println("Enter author's name"); + System.out.println("Author : "); + String author = input.nextLine(); + ketab.setAuthor(author); + System.out.println("Enter the year of publish"); + System.out.println("Year of publish : "); + int yearOfPublish = Integer.parseInt(input.nextLine()); + ketab.setYearOfPublish(yearOfPublish); + System.out.println("Enter the book's ISBN"); + System.out.println("ISBN : "); + String ISBN = input.nextLine(); + ketab.setISBN(ISBN); + ketabkhune.addBook(ketab); + break; + case 2: + System.out.println("Enter the book's ISBN"); + System.out.println("ISBN : "); + String removeISBN = input.nextLine(); + ketab.setISBN(removeISBN); + ketabkhune.removeBook(ketab); + break; + case 3: + if (ketabkhune.doesBookExist(ketab)) + { + System.out.println(ketab); + } + else + { + System.out.println("This book does not exist!"); + } + break; + case 4: + System.out.println("Enter the user's username"); + System.out.println("Username : "); + usersUsername = input.nextLine(); + karbar.setUsername(usersUsername); + System.out.println("Enter user's password"); + System.out.println("Password : "); + usersPassword = input.nextLine(); + karbar.setPassword(usersPassword); + ketabkhune.addUser(karbar); + break; + case 5: + System.out.println("Enter the user's username"); + System.out.println("Username : "); + usersUsername = input.nextLine(); + karbar.setUsername(usersUsername); + ketabkhune.removeUser(karbar); + break; + case 6: + System.out.println("Enter the user's username"); + System.out.println("Username : "); + usersUsername = input.nextLine(); + karbar.setUsername(usersUsername); + ketabkhune.searchUser(karbar); + break; + case 7: + System.out.println("Enter the user's username"); + System.out.println("Username : "); + usersUsername = input.nextLine(); + karbar.setUsername(usersUsername); + ketabkhune.updateUser(karbar); + break; + case 8: + ketabkhune.updateLibrarian(ketabdar); + break; + case 9: + logOut(); + } + } } From a9995a8f29fd31bd1306bd12e0810fd3cc2ff7c1 Mon Sep 17 00:00:00 2001 From: Navid-Naserazad <126415333+Navid-Naserazad@users.noreply.github.com> Date: Wed, 8 Mar 2023 23:40:48 +0330 Subject: [PATCH 4/6] third commit --- src/main/java/Book.java | 10 +- src/main/java/Librarian.java | 4 +- src/main/java/Main.java | 234 +++++++++++++++++++---------------- src/main/java/User.java | 4 +- 4 files changed, 134 insertions(+), 118 deletions(-) diff --git a/src/main/java/Book.java b/src/main/java/Book.java index c00e7df..f6c6378 100644 --- a/src/main/java/Book.java +++ b/src/main/java/Book.java @@ -55,11 +55,11 @@ public void setAvailable(Boolean available) { public String toString() { - return "Name : " + name + "" + - "Author : " + author + "" + - "Year of publish : " + yearOfPublish + "" + - "ISBN : " + ISBN + "" + - "Is available ? " + isAvailable; + return "Name: " + name + " " + + "Author: " + author + " " + + "Year of publish: " + yearOfPublish + "" + + "ISBN: " + ISBN + "" + + "Is available? " + isAvailable; } public void changeAvailableStatus(){ diff --git a/src/main/java/Librarian.java b/src/main/java/Librarian.java index 42791f8..68a77da 100644 --- a/src/main/java/Librarian.java +++ b/src/main/java/Librarian.java @@ -53,7 +53,7 @@ public void changePassword(){ public String toString() { - return "Librarian's username : " + username + "" + - "Librarian's password : " + password; + return "Librarian's username: " + username + " " + + "Librarian's password: " + password; } } diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 949a726..3829301 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -11,17 +11,17 @@ public class Main public static void main(String[] args) { - runMenu(); + Book ketab = new Book(); + Library ketabkhune = new Library(); + User karbar = new User(); + Librarian ketabdar = new Librarian(); + runMenu(ketab , ketabkhune , karbar , ketabdar); } - public static void runMenu() + public static void runMenu(Book ketab, Library ketabkhune, User karbar, Librarian ketabdar) { //TODO: - Book ketab = new Book(); - Library ketabkhune = new Library(); - User karbar = new User(); - Librarian ketabdar = new Librarian(); Scanner in = new Scanner(System.in); System.out.println("Welcome to the library!"); @@ -45,7 +45,7 @@ public static void runMenu() { signInUser(ketabkhune , ketabdar , karbar , ketab); } - userMenu(ketabkhune, karbar, ketab); + userMenu(ketabkhune, karbar, ketab , ketabdar); } else { @@ -62,7 +62,6 @@ public static void runMenu() signInLibrarian(ketabkhune , ketabdar , karbar , ketab); } librarianMenu(ketabkhune, karbar, ketab, ketabdar); - } } @@ -80,14 +79,14 @@ public static void signUpUser(Library ketabkhune , Librarian ketabdar , User kar System.out.println("Password : "); String password = input.nextLine(); karbar.setPassword(password); - if (!(ketabkhune.userPasswordCheck(karbar))) + if (ketabkhune.userPasswordCheck(karbar)) { - System.out.println("Wrong password!"); - runMenu(); + System.out.println("Welcome!"); } else { - System.out.println("Welcome!"); + System.out.println("Wrong password!"); + runMenu(ketab , ketabkhune , karbar , ketabdar); } } else @@ -112,21 +111,21 @@ public static void signInUser(Library ketabkhune , Librarian ketabdar , User kar System.out.println("Enter your password"); System.out.println("Password : "); String password = input.nextLine(); - if (!(ketabkhune.userPasswordCheck(karbar))) + if (ketabkhune.userPasswordCheck(karbar)) { - System.out.println("Wrong password!"); - runMenu(); + System.out.println("Welcome!"); } else { - System.out.println("Welcome!"); + System.out.println("Wrong password!"); + runMenu(ketab , ketabkhune , karbar , ketabdar); } } else { System.out.println("You do not have an account!"); System.out.println("You have to sign up!"); - runMenu(); + runMenu(ketab , ketabkhune , karbar , ketabdar); } } @@ -144,14 +143,14 @@ public static void signUpLibrarian(Library ketabkhune , Librarian ketabdar , Use System.out.println("Password : "); String password = input.nextLine(); ketabdar.setPassword(password); - if (!(ketabkhune.librarianPasswordCheck(ketabdar))) + if (ketabkhune.librarianPasswordCheck(ketabdar)) { - System.out.println("Wrong password!"); - runMenu(); + System.out.println("Welcome!"); } else { - System.out.println("Welcome!"); + System.out.println("Wrong password!"); + runMenu(ketab , ketabkhune , karbar , ketabdar); } } else @@ -171,26 +170,26 @@ public static void signInLibrarian(Library ketabkhune , Librarian ketabdar , Us System.out.println("Username : "); String username = input.nextLine(); karbar.setUsername(username); - if (ketabkhune.doesUserExist(karbar)) + if (ketabkhune.doesLibrarianExist(ketabdar)) { System.out.println("Enter your password"); System.out.println("Password : "); String password = input.nextLine(); - if (!(ketabkhune.userPasswordCheck(karbar))) + if (ketabkhune.librarianPasswordCheck(ketabdar)) { - System.out.println("Wrong password!"); - runMenu(); + System.out.println("Welcome!"); } else { - System.out.println("Welcome!"); + System.out.println("Wrong password!"); + runMenu(ketab , ketabkhune , karbar , ketabdar); } } else { System.out.println("You do not have an account!"); System.out.println("You have to sign up!"); - runMenu(); + runMenu(ketab , ketabkhune , karbar , ketabdar); } } @@ -240,13 +239,13 @@ public static void returnBook(Library ketabkhune , User karbar , Book ketab) } } - public static void logOut() + public static void logOut(Book ketab , Library ketabkhune , User karbar , Librarian ketabdar) { System.out.println("You have logged out!"); - runMenu(); + runMenu(ketab , ketabkhune , karbar , ketabdar); } - public static void userMenu(Library ketabkhune, User karbar, Book ketab) + public static void userMenu(Library ketabkhune, User karbar, Book ketab , Librarian ketabdar) { Scanner input = new Scanner(System.in); System.out.println("1.Borrow book"); @@ -259,22 +258,22 @@ public static void userMenu(Library ketabkhune, User karbar, Book ketab) if (command == 1) { borrowBook(ketabkhune, karbar, ketab); - userMenu(ketabkhune, karbar, ketab); + userMenu(ketabkhune, karbar, ketab , ketabdar); } else if (command == 2) { returnBook(ketabkhune, karbar, ketab); - userMenu(ketabkhune, karbar, ketab); + userMenu(ketabkhune, karbar, ketab, ketabdar); } else if (command == 3) { ketabkhune.updateUser(karbar); - userMenu(ketabkhune, karbar, ketab); + userMenu(ketabkhune, karbar, ketab, ketabdar); } else if (command == 4) { - logOut(); + logOut(ketab , ketabkhune , karbar , ketabdar); } } @@ -294,86 +293,103 @@ public static void librarianMenu(Library ketabkhune, User karbar, Book ketab, Li System.out.println("7.Update user"); // Librarian System.out.println("8.Update librarian"); - System.out.println("9.Log out"); + System.out.println("9.Search librarian"); + System.out.println("10.Log out"); System.out.println("Enter your command"); System.out.println("command : "); int command = Integer.parseInt(input.nextLine()); - switch (command) - { - case 1: - System.out.println("Enter book's name"); - System.out.println("Name : "); - String name = input.nextLine(); - ketab.setName(name); - System.out.println("Enter author's name"); - System.out.println("Author : "); - String author = input.nextLine(); - ketab.setAuthor(author); - System.out.println("Enter the year of publish"); - System.out.println("Year of publish : "); - int yearOfPublish = Integer.parseInt(input.nextLine()); - ketab.setYearOfPublish(yearOfPublish); - System.out.println("Enter the book's ISBN"); - System.out.println("ISBN : "); - String ISBN = input.nextLine(); - ketab.setISBN(ISBN); - ketabkhune.addBook(ketab); - break; - case 2: - System.out.println("Enter the book's ISBN"); - System.out.println("ISBN : "); - String removeISBN = input.nextLine(); - ketab.setISBN(removeISBN); - ketabkhune.removeBook(ketab); - break; - case 3: - if (ketabkhune.doesBookExist(ketab)) - { - System.out.println(ketab); - } - else - { - System.out.println("This book does not exist!"); - } - break; - case 4: - System.out.println("Enter the user's username"); - System.out.println("Username : "); - usersUsername = input.nextLine(); - karbar.setUsername(usersUsername); - System.out.println("Enter user's password"); - System.out.println("Password : "); - usersPassword = input.nextLine(); - karbar.setPassword(usersPassword); - ketabkhune.addUser(karbar); - break; - case 5: - System.out.println("Enter the user's username"); - System.out.println("Username : "); - usersUsername = input.nextLine(); - karbar.setUsername(usersUsername); + if (command == 1) { + System.out.println("Enter book's name"); + System.out.println("Name : "); + String name = input.nextLine(); + ketab.setName(name); + System.out.println("Enter author's name"); + System.out.println("Author : "); + String author = input.nextLine(); + ketab.setAuthor(author); + System.out.println("Enter the year of publish"); + System.out.println("Year of publish : "); + int yearOfPublish = Integer.parseInt(input.nextLine()); + ketab.setYearOfPublish(yearOfPublish); + System.out.println("Enter the book's ISBN"); + System.out.println("ISBN : "); + String ISBN = input.nextLine(); + ketab.setISBN(ISBN); + ketabkhune.addBook(ketab); + librarianMenu(ketabkhune , karbar , ketab , ketabdar); + } + else if (command == 2) { + System.out.println("Enter the book's ISBN"); + System.out.println("ISBN : "); + String removeISBN = input.nextLine(); + ketab.setISBN(removeISBN); + ketabkhune.removeBook(ketab); + librarianMenu(ketabkhune , karbar , ketab , ketabdar); + } + else if (command == 3) { + if (ketabkhune.doesBookExist(ketab)) { + System.out.println(ketab); + } else { + System.out.println("This book does not exist!"); + } + librarianMenu(ketabkhune , karbar , ketab , ketabdar); + } + else if (command == 4) { + System.out.println("Enter the user's username"); + System.out.println("Username : "); + usersUsername = input.nextLine(); + karbar.setUsername(usersUsername); + System.out.println("Enter user's password"); + System.out.println("Password : "); + usersPassword = input.nextLine(); + karbar.setPassword(usersPassword); + ketabkhune.addUser(karbar); + librarianMenu(ketabkhune , karbar , ketab , ketabdar); + } + else if (command == 5) { + System.out.println("Enter the user's username"); + System.out.println("Username : "); + usersUsername = input.nextLine(); + karbar.setUsername(usersUsername); + if (ketabkhune.doesUserExist(karbar)) + { ketabkhune.removeUser(karbar); - break; - case 6: - System.out.println("Enter the user's username"); - System.out.println("Username : "); - usersUsername = input.nextLine(); - karbar.setUsername(usersUsername); - ketabkhune.searchUser(karbar); - break; - case 7: - System.out.println("Enter the user's username"); - System.out.println("Username : "); - usersUsername = input.nextLine(); - karbar.setUsername(usersUsername); - ketabkhune.updateUser(karbar); - break; - case 8: - ketabkhune.updateLibrarian(ketabdar); - break; - case 9: - logOut(); + System.out.println("The user is removed"); + } + else + { + System.out.println("The user does not exist!"); + } + librarianMenu(ketabkhune , karbar , ketab , ketabdar); + } + else if (command == 6) { + System.out.println("Enter the user's username"); + System.out.println("Username : "); + usersUsername = input.nextLine(); + karbar.setUsername(usersUsername); + ketabkhune.searchUser(karbar); + librarianMenu(ketabkhune , karbar , ketab , ketabdar); } + else if (command == 7) { + System.out.println("Enter the user's username"); + System.out.println("Username : "); + usersUsername = input.nextLine(); + karbar.setUsername(usersUsername); + ketabkhune.updateUser(karbar); + librarianMenu(ketabkhune , karbar , ketab , ketabdar); + } + else if (command == 8) { + ketabkhune.updateLibrarian(ketabdar); + librarianMenu(ketabkhune , karbar , ketab , ketabdar); + } + else if (command == 9) { + ketabkhune.searchLibrarian(ketabdar); + librarianMenu(ketabkhune , karbar , ketab , ketabdar); + } + else if (command == 10) { + logOut(ketab , ketabkhune , karbar , ketabdar); + } + } } diff --git a/src/main/java/User.java b/src/main/java/User.java index ba7f8f2..2d29fcb 100644 --- a/src/main/java/User.java +++ b/src/main/java/User.java @@ -99,7 +99,7 @@ public void returnBook(Library ketabkhune , Book ketab){ public String toString() { - return "User's username : " + username + "" + - "User's password : " + password; + return "User's username: " + username + " " + + "User's password: " + password; } } From de0cb9a3f26e3d5ac031f25b168b99615748f3ad Mon Sep 17 00:00:00 2001 From: Navid-Naserazad <126415333+Navid-Naserazad@users.noreply.github.com> Date: Thu, 9 Mar 2023 12:08:57 +0330 Subject: [PATCH 5/6] forth commit --- src/main/java/Main.java | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 3829301..839960a 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -8,7 +8,7 @@ public class Main * don't forget to add at least 1 librarian to the library to make it functionable. * * *** don't limit yourself to our template *** */ - + static Scanner input = new Scanner(System.in); public static void main(String[] args) { Book ketab = new Book(); @@ -22,21 +22,21 @@ public static void runMenu(Book ketab, Library ketabkhune, User karbar, Libraria { //TODO: - Scanner in = new Scanner(System.in); + //Scanner in = new Scanner(System.in); System.out.println("Welcome to the library!"); System.out.println("1.Users"); System.out.println("2.Librarians"); System.out.println("Enter your command"); System.out.println("command : "); - int command = Integer.parseInt(in.nextLine()); + int command = Integer.parseInt(input.nextLine()); if (command == 1) { System.out.println("1.Sign Up"); System.out.println("2.Sign In"); System.out.println("Enter your command"); System.out.println("command : "); - command = Integer.parseInt(in.nextLine()); + command = Integer.parseInt(input.nextLine()); if (command == 1) { signUpUser(ketabkhune , ketabdar , karbar , ketab); @@ -52,7 +52,7 @@ public static void runMenu(Book ketab, Library ketabkhune, User karbar, Libraria System.out.println("1.Sign Up"); System.out.println("2.Sign In"); System.out.println("Enter your command"); - command = Integer.parseInt(in.nextLine()); + command = Integer.parseInt(input.nextLine()); if (command == 1) { signUpLibrarian(ketabkhune , ketabdar , karbar , ketab); @@ -67,7 +67,7 @@ public static void runMenu(Book ketab, Library ketabkhune, User karbar, Libraria public static void signUpUser(Library ketabkhune , Librarian ketabdar , User karbar , Book ketab) { - Scanner input = new Scanner(System.in); + // input = new Scanner(System.in); System.out.println("Enter your username"); System.out.println("Username : "); String username = input.nextLine(); @@ -101,7 +101,7 @@ public static void signUpUser(Library ketabkhune , Librarian ketabdar , User kar public static void signInUser(Library ketabkhune , Librarian ketabdar , User karbar , Book ketab) { - Scanner input = new Scanner(System.in); + //Scanner input = new Scanner(System.in); System.out.println("Enter your username"); System.out.println("Username : "); String username = input.nextLine(); @@ -131,7 +131,7 @@ public static void signInUser(Library ketabkhune , Librarian ketabdar , User kar public static void signUpLibrarian(Library ketabkhune , Librarian ketabdar , User karbar , Book ketab) { - Scanner input = new Scanner(System.in); + //Scanner input = new Scanner(System.in); System.out.println("Enter your username"); System.out.println("Username : "); String username = input.nextLine(); @@ -165,7 +165,7 @@ public static void signUpLibrarian(Library ketabkhune , Librarian ketabdar , Use public static void signInLibrarian(Library ketabkhune , Librarian ketabdar , User karbar , Book ketab) { - Scanner input = new Scanner(System.in); + //Scanner input = new Scanner(System.in); System.out.println("Enter your username"); System.out.println("Username : "); String username = input.nextLine(); @@ -195,7 +195,7 @@ public static void signInLibrarian(Library ketabkhune , Librarian ketabdar , Us public static void borrowBook(Library ketabkhune , User karbar , Book ketab) { - Scanner input = new Scanner(System.in); + //Scanner input = new Scanner(System.in); System.out.println("Enter the book's name "); System.out.println("Name : "); String name = input.nextLine(); @@ -218,7 +218,7 @@ public static void borrowBook(Library ketabkhune , User karbar , Book ketab) public static void returnBook(Library ketabkhune , User karbar , Book ketab) { - Scanner input = new Scanner(System.in); + //Scanner input = new Scanner(System.in); System.out.println("Enter the book's name "); System.out.println("Name : "); String name = input.nextLine(); @@ -247,7 +247,7 @@ public static void logOut(Book ketab , Library ketabkhune , User karbar , Librar public static void userMenu(Library ketabkhune, User karbar, Book ketab , Librarian ketabdar) { - Scanner input = new Scanner(System.in); + //Scanner input = new Scanner(System.in); System.out.println("1.Borrow book"); System.out.println("2.Return book"); System.out.println("3.Update User"); @@ -279,7 +279,7 @@ else if (command == 4) public static void librarianMenu(Library ketabkhune, User karbar, Book ketab, Librarian ketabdar) { - Scanner input = new Scanner(System.in); + //Scanner input = new Scanner(System.in); // Books System.out.println("1.Add book"); System.out.println("2.Remove book"); From c281ec89a1900642873b64cbd5155d9eec2e65e3 Mon Sep 17 00:00:00 2001 From: Navid-Naserazad <126415333+Navid-Naserazad@users.noreply.github.com> Date: Thu, 9 Mar 2023 15:18:14 +0330 Subject: [PATCH 6/6] Added report --- report.txt | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 report.txt diff --git a/report.txt b/report.txt new file mode 100644 index 0000000..b91ceec --- /dev/null +++ b/report.txt @@ -0,0 +1,8 @@ +Library Management System +in project shamel 5 class ast ke ebaratand az class Main - class Book - class Library - class User - class librarian +class main : bakhsh asli in class ro function runMenu tashkil mide. dar in function ma menu asli ro baraye karbar load mikonim. karbar bayad az beyne 2 gozine users va librarians yeki ro entekhab kone. karbar harkodam ro ke entekhab kone 2 gozine moshabeh barash bala miad ke yeki sign up va digari sign in hastesh ke baraye horkodam function tarif shode. vaghti karbar varede account khodesh beshe gozinehaye jadidi barash load mishe ke in gozine ha baraye user va librarian fargh mikone va in gozineha ba function haye userMenu va librarianMenu load mishe. harkodam az in gozineha ham be surate function tarif shode ke az ruye esme har function mishe be kari ke anjam mide pey bord. dar nahayat function runMenu dar function main seda zade shode. +class Book : in class shamele attribute hayi hastesh ke az esmeshun malume ke chi hastan. baraye hameye in attribute ha function haye getter va setter tarif shode. hamchenin function toString ke etelaat marbut be ketab ro return mikone tarif shode. +va yek function baraye taghir dar dastrest budan ketab ba esme changeAvailableStatus. +class Library: in class bozorgtarin va mohem tarin class ast. dar in class 3 arraylist az books , users va librarians sakhte shode ke darvaghe ma dar in 3 arraylist etelaate marbut be ketabha va karbar ha va ketabdar ha ro zakhire mikonim. in class shamele function haye ziadi hast ke az esme har funciton mitavan be karayi un function pey bord. +class User : ma dar in class 2 attribute baraye user tarif kardim ke ebaratand az String username va String password. baraye in 2 attribute function haye getter va setter tarif kardim. hamchenin yek function changePassword baraye taghir password user tarif kardim. az unjayi ke user mitavanad ketab gharz konad va ketab hayi ke az ketabkhane gharz karde ro pas bedahad , ma yek arraylist rentbooks tarif kardim va 2 function ba nam haye rentBook va returnBook ke in 2 funciton ba tavajoh be esmeshan ketab gharz migiran va ketab gharz gerefte shode az ketabkhune ro pas midan. function toString ham etelaat marbut be user ro be surate yek string return mikone. +class Librarian : in class ham manande class User daraye 2 attribute username va passrword hast. va baraye in 2 attribute function haye getter va setter tarif shode. hamchenin yek function changePassword baraye taghir passsworde librarian tarif shode. function toString niz etelaate marbut be librarian ro return mikone. \ No newline at end of file