From f2786c5ab93e854b20ed3b9d738e843b239bd814 Mon Sep 17 00:00:00 2001 From: "Amir.Homa" Date: Tue, 30 Apr 2024 23:00:24 +0330 Subject: [PATCH 01/24] creat unique id --- Answers/_40230112134/.gitignore | 38 ++++++ Answers/_40230112134/.idea/.gitignore | 3 + Answers/_40230112134/.idea/encodings.xml | 7 + Answers/_40230112134/.idea/misc.xml | 14 ++ Answers/_40230112134/.idea/uiDesigner.xml | 124 ++++++++++++++++++ Answers/_40230112134/.idea/vcs.xml | 6 + Answers/_40230112134/README.md | 85 ++++++++++++ Answers/_40230112134/pom.xml | 17 +++ .../src/main/java/org/example/MyApp.java | 8 ++ .../src/main/java/org/example/UniqueID.java | 11 ++ 10 files changed, 313 insertions(+) create mode 100644 Answers/_40230112134/.gitignore create mode 100644 Answers/_40230112134/.idea/.gitignore create mode 100644 Answers/_40230112134/.idea/encodings.xml create mode 100644 Answers/_40230112134/.idea/misc.xml create mode 100644 Answers/_40230112134/.idea/uiDesigner.xml create mode 100644 Answers/_40230112134/.idea/vcs.xml create mode 100644 Answers/_40230112134/README.md create mode 100644 Answers/_40230112134/pom.xml create mode 100644 Answers/_40230112134/src/main/java/org/example/MyApp.java create mode 100644 Answers/_40230112134/src/main/java/org/example/UniqueID.java diff --git a/Answers/_40230112134/.gitignore b/Answers/_40230112134/.gitignore new file mode 100644 index 0000000..5ff6309 --- /dev/null +++ b/Answers/_40230112134/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/Answers/_40230112134/.idea/.gitignore b/Answers/_40230112134/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/Answers/_40230112134/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/Answers/_40230112134/.idea/encodings.xml b/Answers/_40230112134/.idea/encodings.xml new file mode 100644 index 0000000..aa00ffa --- /dev/null +++ b/Answers/_40230112134/.idea/encodings.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/Answers/_40230112134/.idea/misc.xml b/Answers/_40230112134/.idea/misc.xml new file mode 100644 index 0000000..82dbec8 --- /dev/null +++ b/Answers/_40230112134/.idea/misc.xml @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/Answers/_40230112134/.idea/uiDesigner.xml b/Answers/_40230112134/.idea/uiDesigner.xml new file mode 100644 index 0000000..2b63946 --- /dev/null +++ b/Answers/_40230112134/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Answers/_40230112134/.idea/vcs.xml b/Answers/_40230112134/.idea/vcs.xml new file mode 100644 index 0000000..b2bdec2 --- /dev/null +++ b/Answers/_40230112134/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Answers/_40230112134/README.md b/Answers/_40230112134/README.md new file mode 100644 index 0000000..091d49d --- /dev/null +++ b/Answers/_40230112134/README.md @@ -0,0 +1,85 @@ +# Library Management System + +Welcome to our Library Management System (LMS) project! In this endeavor, we aim to implement a comprehensive library program with a user-friendly command-line interface (CLI). Our system caters to two distinct roles: + +1. Normal Users +2. Admins + +## Features + +- New users can seamlessly sign up using their student ID and their information. +- Our system boasts a robust admin panel, with the ability to add new admins, books, and perform book removals. +- Normal users enjoy the convenience of borrowing and returning books hassle-free. +- Each user, whether normal or admin, can conveniently delete their account whenever necessary. + +## Implementation Guidelines + +Our project is grounded in Object-Oriented Programming (OOP) principles, leveraging the following key classes: + +### Book + +Each book is characterized by the following attributes: +- Unique bookID +- Title +- Author +- Availability status +- Description + +Attributes are encapsulated within the Book class to maintain data integrity. Upon instantiation, a book's availability status is automatically status to true, and a unique bookID is generated. + +### User + +Users possess the following attributes: +- Name +- Unique ID +- Phone number + +User information is essential for system operations, and each user is uniquely identified by an ID. + +### Normal User + +In addition to the standard user attributes, normal users are also timestamped with their date of registration. + +### Admin + +Admins share user attributes but possess additional privileges and authentication through a password. + +### Rent + +The Rent class acts as a bridge between users and books, facilitating book rental transactions. Key attributes include: +- Book object +- Normal user object +- Rental ID +- Rental date + +### Library + +The central hub of our system, the Library class encapsulates core library functionalities: +- Library name +- Capacity +- Operating hours +- Book repository +- User and rental registries + +Methodologies like book rental, return, addition, and removal of members and books are seamlessly handled within the Library class. + +## Command-Line Interface (CLI) + +Our CLI class facilitates user interaction through intuitive commands: + +- `lib add book `: Add a new book to the library. +- `lib get hrs`: Retrieve library operating hours. +- `lib rent `: Rent a book from the library. +- `lib add member `: Add a new member to the library (admin privilege required). +- `lib rent `: Rent a book for a specific member. +- `lib get available books`: View available books for rental. +- `lib remove member `: Remove a member from the library (admin privilege required). +- `lib return `: Return a rented book to the library. + +## Getting Started + +To start using our system, simply run the main class `MyApp` and follow the prompts. + +## Conclusion + +Thank you for choosing our Library Management System. We're excited to provide you with an efficient and user-friendly platform for all your library needs. Happy reading! \ No newline at end of file diff --git a/Answers/_40230112134/pom.xml b/Answers/_40230112134/pom.xml new file mode 100644 index 0000000..2162428 --- /dev/null +++ b/Answers/_40230112134/pom.xml @@ -0,0 +1,17 @@ + + + 4.0.0 + + org.example + _40230112134 + 1.0-SNAPSHOT + + + 17 + 17 + UTF-8 + + + \ No newline at end of file diff --git a/Answers/_40230112134/src/main/java/org/example/MyApp.java b/Answers/_40230112134/src/main/java/org/example/MyApp.java new file mode 100644 index 0000000..3841da1 --- /dev/null +++ b/Answers/_40230112134/src/main/java/org/example/MyApp.java @@ -0,0 +1,8 @@ +package org.example; + +public class MyApp extends UniqueID { + public static void main(String[] args) { + System.out.println(getID()); + } + +} \ No newline at end of file diff --git a/Answers/_40230112134/src/main/java/org/example/UniqueID.java b/Answers/_40230112134/src/main/java/org/example/UniqueID.java new file mode 100644 index 0000000..e2c91f1 --- /dev/null +++ b/Answers/_40230112134/src/main/java/org/example/UniqueID.java @@ -0,0 +1,11 @@ +package org.example; + +import java.util.Random; + +public abstract class UniqueID { + public static int getID() + { + Random randomnumber = new Random(); + return randomnumber.nextInt(100) + 1; + } +} From be613335732a44674f504c4b77349d6a2467e34b Mon Sep 17 00:00:00 2001 From: "Amir.Homa" Date: Wed, 1 May 2024 00:16:43 +0330 Subject: [PATCH 02/24] add class book whit add book in file method --- Answers/_40230112134/Book.txt | 0 .../src/main/java/org/example/Book.java | 54 +++++++++++++++++++ .../src/main/java/org/example/MyApp.java | 5 +- .../src/main/java/org/example/UniqueID.java | 4 +- 4 files changed, 59 insertions(+), 4 deletions(-) create mode 100644 Answers/_40230112134/Book.txt create mode 100644 Answers/_40230112134/src/main/java/org/example/Book.java diff --git a/Answers/_40230112134/Book.txt b/Answers/_40230112134/Book.txt new file mode 100644 index 0000000..e69de29 diff --git a/Answers/_40230112134/src/main/java/org/example/Book.java b/Answers/_40230112134/src/main/java/org/example/Book.java new file mode 100644 index 0000000..b08e9b1 --- /dev/null +++ b/Answers/_40230112134/src/main/java/org/example/Book.java @@ -0,0 +1,54 @@ +package org.example; + +import java.util.*; +import java.io.*; + +public class Book extends UniqueID { + String ID = getID(); + String Title , Author , Description ; + ArrayList Total = new ArrayList<>(); + boolean AvailabilityStatus ; + public void AddBook() + { + try { + BufferedReader bufferedReader = new BufferedReader(new FileReader("Book.txt")); + String line; + while ((line = bufferedReader.readLine()) != null) + { + Total.add(line); + } + } catch (IOException r){ + System.out.println("An error occurred."); + r.printStackTrace(); + } + System.out.println("Enter the name of the book"); + Scanner scanner = new Scanner(System.in); + Title = scanner.nextLine() ; + System.out.println("Enter the author of the book"); + Author = scanner.nextLine() ; + System.out.println("Write a description of the book in one line"); + Description = scanner.nextLine() ; + AvailabilityStatus = true ; + Total.add(ID + "/" + Title + "/" + Author + "/" + Description + "/" + AvailabilityStatus); + while (true) + { + try { + FileWriter writer = new FileWriter("Book.txt"); + BufferedWriter bufferedWriter = new BufferedWriter(writer); + for (String temp : Total) + { + bufferedWriter.write(temp); + bufferedWriter.newLine(); + } + bufferedWriter.close(); + System.out.println("The book has been successfully added"); + System.out.println("Your Unique ID is : " + ID); + break; + } catch (IOException e){ + System.out.println("An error occurred."); + System.out.println("Try Again"); + e.printStackTrace(); + } + } + } +} diff --git a/Answers/_40230112134/src/main/java/org/example/MyApp.java b/Answers/_40230112134/src/main/java/org/example/MyApp.java index 3841da1..e55de43 100644 --- a/Answers/_40230112134/src/main/java/org/example/MyApp.java +++ b/Answers/_40230112134/src/main/java/org/example/MyApp.java @@ -1,8 +1,9 @@ package org.example; -public class MyApp extends UniqueID { +public class MyApp { public static void main(String[] args) { - System.out.println(getID()); + Book book = new Book(); + book.AddBook(); } } \ No newline at end of file diff --git a/Answers/_40230112134/src/main/java/org/example/UniqueID.java b/Answers/_40230112134/src/main/java/org/example/UniqueID.java index e2c91f1..068251d 100644 --- a/Answers/_40230112134/src/main/java/org/example/UniqueID.java +++ b/Answers/_40230112134/src/main/java/org/example/UniqueID.java @@ -3,9 +3,9 @@ import java.util.Random; public abstract class UniqueID { - public static int getID() + public static String getID() { Random randomnumber = new Random(); - return randomnumber.nextInt(100) + 1; + return String.valueOf(randomnumber.nextInt(100) + 1); } } From 7437979742957633cc00b9c0f173504d6f906a92 Mon Sep 17 00:00:00 2001 From: "Amir.Homa" Date: Wed, 1 May 2024 08:54:58 +0330 Subject: [PATCH 03/24] add search method in file --- Answers/_40230112134/Book.txt | 5 +++ .../src/main/java/org/example/Book.java | 36 +++++++++++++++++-- .../src/main/java/org/example/MyApp.java | 4 ++- 3 files changed, 42 insertions(+), 3 deletions(-) diff --git a/Answers/_40230112134/Book.txt b/Answers/_40230112134/Book.txt index e69de29..31ccef1 100644 --- a/Answers/_40230112134/Book.txt +++ b/Answers/_40230112134/Book.txt @@ -0,0 +1,5 @@ +48/sda/asda/sd/true +38/asd/ad/ad/true +99/fg/dfg//true +48/sdf/dfs/sdf/true +42/a/a/a/true diff --git a/Answers/_40230112134/src/main/java/org/example/Book.java b/Answers/_40230112134/src/main/java/org/example/Book.java index b08e9b1..3c9fd57 100644 --- a/Answers/_40230112134/src/main/java/org/example/Book.java +++ b/Answers/_40230112134/src/main/java/org/example/Book.java @@ -5,14 +5,15 @@ public class Book extends UniqueID { String ID = getID(); - String Title , Author , Description ; + String Title , Author , Description; ArrayList Total = new ArrayList<>(); - boolean AvailabilityStatus ; + boolean AvailabilityStatus; public void AddBook() { try { BufferedReader bufferedReader = new BufferedReader(new FileReader("Book.txt")); String line; + Total.clear(); while ((line = bufferedReader.readLine()) != null) { Total.add(line); @@ -51,4 +52,35 @@ public void AddBook() } } } + public boolean SearchBook(String sentence) + { + boolean flag = false; + try{ + BufferedReader bufferedReader = new BufferedReader(new FileReader("Book.txt")); + String line; + while ((line = bufferedReader.readLine()) != null) + { + String[] list = line.split("/"); + for (int i = 0; i < list.length; i++) + { + if (Objects.equals(list[i], sentence)) + { + System.out.println("Your ID book: " + list[0]); + System.out.println("Your Title: " + list[1]); + System.out.println("Your Author: " + list[2]); + System.out.println("Your Description: " + list[3]); + System.out.println("Your Availability Status: " + list[4]); + flag = true; + } + else + { + } + } + } + }catch (IOException e){ + System.out.println("Wrong"); + e.printStackTrace(); + } + return flag; + } } diff --git a/Answers/_40230112134/src/main/java/org/example/MyApp.java b/Answers/_40230112134/src/main/java/org/example/MyApp.java index e55de43..c83ec8e 100644 --- a/Answers/_40230112134/src/main/java/org/example/MyApp.java +++ b/Answers/_40230112134/src/main/java/org/example/MyApp.java @@ -3,7 +3,9 @@ public class MyApp { public static void main(String[] args) { Book book = new Book(); - book.AddBook(); +// book.AddBook(); + boolean mesal = book.SearchBook("38"); + System.out.println(mesal); } } \ No newline at end of file From 7e704f1354ad911976ab4ae24a5e827a50522908 Mon Sep 17 00:00:00 2001 From: "Amir.Homa" Date: Wed, 1 May 2024 09:14:16 +0330 Subject: [PATCH 04/24] A series of changes in method --- Answers/_40230112134/Book.txt | 15 ++++++++++----- .../src/main/java/org/example/Book.java | 7 ++++--- .../src/main/java/org/example/MyApp.java | 7 ++++--- .../src/main/java/org/example/UniqueID.java | 2 +- 4 files changed, 19 insertions(+), 12 deletions(-) diff --git a/Answers/_40230112134/Book.txt b/Answers/_40230112134/Book.txt index 31ccef1..b9625f4 100644 --- a/Answers/_40230112134/Book.txt +++ b/Answers/_40230112134/Book.txt @@ -1,5 +1,10 @@ -48/sda/asda/sd/true -38/asd/ad/ad/true -99/fg/dfg//true -48/sdf/dfs/sdf/true -42/a/a/a/true +59/w/e/we/true +91/wer/ewr/we/true +616/w/erw/Wr/true +662/wer/ewre/wr/true +1/werwe'rw/erew/rew/true +174/rw/erew/rwe/true +413/we/rwer/we/true +902/w/er/wer/true +353/wr/r/wer/true +525/wrw/er/wew/true diff --git a/Answers/_40230112134/src/main/java/org/example/Book.java b/Answers/_40230112134/src/main/java/org/example/Book.java index 3c9fd57..ea42878 100644 --- a/Answers/_40230112134/src/main/java/org/example/Book.java +++ b/Answers/_40230112134/src/main/java/org/example/Book.java @@ -52,9 +52,9 @@ public void AddBook() } } } - public boolean SearchBook(String sentence) + public String SearchBook(String sentence) { - boolean flag = false; + String flag = "0"; try{ BufferedReader bufferedReader = new BufferedReader(new FileReader("Book.txt")); String line; @@ -70,7 +70,7 @@ public boolean SearchBook(String sentence) System.out.println("Your Author: " + list[2]); System.out.println("Your Description: " + list[3]); System.out.println("Your Availability Status: " + list[4]); - flag = true; + flag = list[0]; } else { @@ -83,4 +83,5 @@ public boolean SearchBook(String sentence) } return flag; } + } diff --git a/Answers/_40230112134/src/main/java/org/example/MyApp.java b/Answers/_40230112134/src/main/java/org/example/MyApp.java index c83ec8e..cc44b95 100644 --- a/Answers/_40230112134/src/main/java/org/example/MyApp.java +++ b/Answers/_40230112134/src/main/java/org/example/MyApp.java @@ -3,9 +3,10 @@ public class MyApp { public static void main(String[] args) { Book book = new Book(); -// book.AddBook(); - boolean mesal = book.SearchBook("38"); - System.out.println(mesal); + book.AddBook(); +// String mesal = book.SearchBook("38"); +// System.out.println(mesal) +// ; } } \ No newline at end of file diff --git a/Answers/_40230112134/src/main/java/org/example/UniqueID.java b/Answers/_40230112134/src/main/java/org/example/UniqueID.java index 068251d..99f074a 100644 --- a/Answers/_40230112134/src/main/java/org/example/UniqueID.java +++ b/Answers/_40230112134/src/main/java/org/example/UniqueID.java @@ -6,6 +6,6 @@ public abstract class UniqueID { public static String getID() { Random randomnumber = new Random(); - return String.valueOf(randomnumber.nextInt(100) + 1); + return String.valueOf(randomnumber.nextInt(1000) + 1); } } From f28101318f2b2f86320465ef2daaad9df0a3bcb9 Mon Sep 17 00:00:00 2001 From: "Amir.Homa" Date: Wed, 1 May 2024 09:45:31 +0330 Subject: [PATCH 05/24] add delete method for file --- Answers/_40230112134/Book.txt | 1 - .../src/main/java/org/example/Book.java | 92 ++++++++++++++----- .../src/main/java/org/example/MyApp.java | 8 +- 3 files changed, 75 insertions(+), 26 deletions(-) diff --git a/Answers/_40230112134/Book.txt b/Answers/_40230112134/Book.txt index b9625f4..4431454 100644 --- a/Answers/_40230112134/Book.txt +++ b/Answers/_40230112134/Book.txt @@ -2,7 +2,6 @@ 91/wer/ewr/we/true 616/w/erw/Wr/true 662/wer/ewre/wr/true -1/werwe'rw/erew/rew/true 174/rw/erew/rwe/true 413/we/rwer/we/true 902/w/er/wer/true diff --git a/Answers/_40230112134/src/main/java/org/example/Book.java b/Answers/_40230112134/src/main/java/org/example/Book.java index ea42878..4244b2a 100644 --- a/Answers/_40230112134/src/main/java/org/example/Book.java +++ b/Answers/_40230112134/src/main/java/org/example/Book.java @@ -18,39 +18,55 @@ public void AddBook() { Total.add(line); } + bufferedReader.close(); } catch (IOException r){ System.out.println("An error occurred."); r.printStackTrace(); } System.out.println("Enter the name of the book"); Scanner scanner = new Scanner(System.in); - Title = scanner.nextLine() ; + Title = scanner.nextLine(); System.out.println("Enter the author of the book"); - Author = scanner.nextLine() ; + Author = scanner.nextLine(); System.out.println("Write a description of the book in one line"); - Description = scanner.nextLine() ; - AvailabilityStatus = true ; - Total.add(ID + "/" + Title + "/" + Author + "/" + Description + "/" + AvailabilityStatus); - while (true) + Description = scanner.nextLine(); + AvailabilityStatus = true; + for (int i = 0; i < Total.size(); i++) { - try { - FileWriter writer = new FileWriter("Book.txt"); - BufferedWriter bufferedWriter = new BufferedWriter(writer); - for (String temp : Total) + String line = Total.get(i); + String[] list = line.split("/"); + if (Objects.equals(Title, list[1])) + { + System.out.println("you can not add the book"); + System.out.println("because we have that"); + } + else + { + Total.add(ID + "/" + Title + "/" + Author + "/" + Description + "/" + AvailabilityStatus); + while (true) { - bufferedWriter.write(temp); - bufferedWriter.newLine(); + try { + FileWriter writer = new FileWriter("Book.txt"); + BufferedWriter bufferedWriter = new BufferedWriter(writer); + for (String temp : Total) + { + bufferedWriter.write(temp); + bufferedWriter.newLine(); + } + bufferedWriter.close(); + System.out.println("The book has been successfully added"); + System.out.println("Your Unique ID is : " + ID); + bufferedWriter.close(); + break; + } catch (IOException e){ + System.out.println("An error occurred."); + System.out.println("Try Again"); + e.printStackTrace(); + } } - bufferedWriter.close(); - System.out.println("The book has been successfully added"); - System.out.println("Your Unique ID is : " + ID); - break; - } catch (IOException e){ - System.out.println("An error occurred."); - System.out.println("Try Again"); - e.printStackTrace(); } } + } public String SearchBook(String sentence) { @@ -77,11 +93,45 @@ public String SearchBook(String sentence) } } } + bufferedReader.close(); }catch (IOException e){ System.out.println("Wrong"); e.printStackTrace(); } return flag; } - + public void Delete(String number) + { + try { + BufferedReader bufferedReader = new BufferedReader(new FileReader("Book.txt")); + String line; + Total.clear(); + while ((line = bufferedReader.readLine()) != null) + { + Total.add(line); + } + for (int i = 0; i < Total.size(); i++) + { + String line1 = Total.get(i); + String[] list = line1.split("/"); + if (Objects.equals(list[0], number)) + { + System.out.println("Successful"); + Total.remove(i); + } + } + bufferedReader.close(); + FileWriter writer = new FileWriter("Book.txt"); + BufferedWriter bufferedWriter = new BufferedWriter(writer); + for (String temp : Total) + { + bufferedWriter.write(temp); + bufferedWriter.newLine(); + } + bufferedWriter.close(); + } catch (IOException e){ + System.out.println("Wrong"); + e.printStackTrace(); + } + } } diff --git a/Answers/_40230112134/src/main/java/org/example/MyApp.java b/Answers/_40230112134/src/main/java/org/example/MyApp.java index cc44b95..a85a05d 100644 --- a/Answers/_40230112134/src/main/java/org/example/MyApp.java +++ b/Answers/_40230112134/src/main/java/org/example/MyApp.java @@ -3,10 +3,10 @@ public class MyApp { public static void main(String[] args) { Book book = new Book(); - book.AddBook(); -// String mesal = book.SearchBook("38"); -// System.out.println(mesal) -// ; +// book.AddBook(); + String mesal = book.SearchBook("1"); + System.out.println(mesal); + book.Delete("1"); } } \ No newline at end of file From 9f9f919b48adef68eadde1f0d7df2ca330afbd12 Mon Sep 17 00:00:00 2001 From: "Amir.Homa" Date: Wed, 1 May 2024 10:04:08 +0330 Subject: [PATCH 06/24] add rent book method --- Answers/_40230112134/Book.txt | 3 +- .../src/main/java/org/example/Book.java | 36 +++++++++++++++++++ .../src/main/java/org/example/MyApp.java | 5 ++- 3 files changed, 42 insertions(+), 2 deletions(-) diff --git a/Answers/_40230112134/Book.txt b/Answers/_40230112134/Book.txt index 4431454..562181b 100644 --- a/Answers/_40230112134/Book.txt +++ b/Answers/_40230112134/Book.txt @@ -6,4 +6,5 @@ 413/we/rwer/we/true 902/w/er/wer/true 353/wr/r/wer/true -525/wrw/er/wew/true +1/werwe'rw/erew/rew/false +525/wrw/er/wew/false diff --git a/Answers/_40230112134/src/main/java/org/example/Book.java b/Answers/_40230112134/src/main/java/org/example/Book.java index 4244b2a..066a74d 100644 --- a/Answers/_40230112134/src/main/java/org/example/Book.java +++ b/Answers/_40230112134/src/main/java/org/example/Book.java @@ -134,4 +134,40 @@ public void Delete(String number) e.printStackTrace(); } } + public void Rent(String number) + { + try { + BufferedReader bufferedReader = new BufferedReader(new FileReader("Book.txt")); + String line; + Total.clear(); + while ((line = bufferedReader.readLine()) != null) + { + Total.add(line); + } + for (int i = 0; i < Total.size(); i++) + { + String line1 = Total.get(i); + String[] list = line1.split("/"); + if (Objects.equals(list[0], number)) + { + System.out.println("please read"); + Total.remove(i); + String temp = list[0] + "/" + list[1] + "/" + list[2] + "/" + list[3] + "/" + "false" ; + Total.add(temp); + } + } + bufferedReader.close(); + FileWriter writer = new FileWriter("Book.txt"); + BufferedWriter bufferedWriter = new BufferedWriter(writer); + for (String temp : Total) + { + bufferedWriter.write(temp); + bufferedWriter.newLine(); + } + bufferedWriter.close(); + }catch (IOException e){ + System.out.println("Wrong"); + e.printStackTrace(); + } + } } diff --git a/Answers/_40230112134/src/main/java/org/example/MyApp.java b/Answers/_40230112134/src/main/java/org/example/MyApp.java index a85a05d..40ea69e 100644 --- a/Answers/_40230112134/src/main/java/org/example/MyApp.java +++ b/Answers/_40230112134/src/main/java/org/example/MyApp.java @@ -6,7 +6,10 @@ public static void main(String[] args) { // book.AddBook(); String mesal = book.SearchBook("1"); System.out.println(mesal); - book.Delete("1"); + book.Rent("525"); + String mesal1 = book.SearchBook("1"); + System.out.println(mesal1); +// book.Delete("1"); } } \ No newline at end of file From cf8b4ccc9de80d276a6f9d96e96fd13bb026d808 Mon Sep 17 00:00:00 2001 From: "Amir.Homa" Date: Wed, 8 May 2024 22:16:56 +0330 Subject: [PATCH 07/24] A series of changes in methods --- Answers/_40230112134/Book.txt | 17 +-- .../src/main/java/org/example/Book.java | 134 ++++++++---------- .../src/main/java/org/example/MyApp.java | 16 ++- 3 files changed, 73 insertions(+), 94 deletions(-) diff --git a/Answers/_40230112134/Book.txt b/Answers/_40230112134/Book.txt index 562181b..9692793 100644 --- a/Answers/_40230112134/Book.txt +++ b/Answers/_40230112134/Book.txt @@ -1,10 +1,7 @@ -59/w/e/we/true -91/wer/ewr/we/true -616/w/erw/Wr/true -662/wer/ewre/wr/true -174/rw/erew/rwe/true -413/we/rwer/we/true -902/w/er/wer/true -353/wr/r/wer/true -1/werwe'rw/erew/rew/false -525/wrw/er/wew/false +210/amir/homa/1548631/true +210/ali/homauni/dasgdffd/true +210/aaaaaaaaaaaaaaaaaa/aaaaaaaaaaaaaaaa/aaaaaaaaaaaaaaaaa/true +191/dddddddddddddd/ffffffffffff/ddffdffddf/true +191/dfddfd/dfdffffff/fdddddddddddddd/true +59/w/e/we/false +91/wer/ewr/we/false diff --git a/Answers/_40230112134/src/main/java/org/example/Book.java b/Answers/_40230112134/src/main/java/org/example/Book.java index 066a74d..cdc212b 100644 --- a/Answers/_40230112134/src/main/java/org/example/Book.java +++ b/Answers/_40230112134/src/main/java/org/example/Book.java @@ -4,11 +4,40 @@ import java.io.*; public class Book extends UniqueID { - String ID = getID(); - String Title , Author , Description; + private String ID = getID(); + private String Title , Author , Description; ArrayList Total = new ArrayList<>(); boolean AvailabilityStatus; - public void AddBook() + + public Book() + { + this.Title = getTitle(); + this.Description = getDescription(); + this.Author = getAuthor(); + } + public void setAuthor(String author) { Author = author; } + public String getAuthor() { return Author; } + public String getDescription() { return Description; } + public void setDescription(String description) { Description = description; } + public void setTitle(String title) { Title = title; } + public String getTitle() { return Title; } + + public void WriteFileBook() + { + try { + FileWriter writer = new FileWriter("Book.txt"); + BufferedWriter bufferedWriter = new BufferedWriter(writer); + for (String temp : Total) + { + bufferedWriter.write(temp); + bufferedWriter.newLine(); + } + bufferedWriter.close(); + } catch (IOException e){ + System.out.println("Wrong"); + } + } + public void ReadFileBook() { try { BufferedReader bufferedReader = new BufferedReader(new FileReader("Book.txt")); @@ -21,8 +50,11 @@ public void AddBook() bufferedReader.close(); } catch (IOException r){ System.out.println("An error occurred."); - r.printStackTrace(); } + } + public void AddBook() + { + ReadFileBook(); System.out.println("Enter the name of the book"); Scanner scanner = new Scanner(System.in); Title = scanner.nextLine(); @@ -35,7 +67,7 @@ public void AddBook() { String line = Total.get(i); String[] list = line.split("/"); - if (Objects.equals(Title, list[1])) + if (Objects.equals(Title, list[1]) || Objects.equals(Author, list[2]) || Objects.equals(Description, list[3])) { System.out.println("you can not add the book"); System.out.println("because we have that"); @@ -43,30 +75,11 @@ public void AddBook() else { Total.add(ID + "/" + Title + "/" + Author + "/" + Description + "/" + AvailabilityStatus); - while (true) - { - try { - FileWriter writer = new FileWriter("Book.txt"); - BufferedWriter bufferedWriter = new BufferedWriter(writer); - for (String temp : Total) - { - bufferedWriter.write(temp); - bufferedWriter.newLine(); - } - bufferedWriter.close(); - System.out.println("The book has been successfully added"); - System.out.println("Your Unique ID is : " + ID); - bufferedWriter.close(); - break; - } catch (IOException e){ - System.out.println("An error occurred."); - System.out.println("Try Again"); - e.printStackTrace(); - } - } + WriteFileBook(); + System.out.println("The book has been successfully added"); + System.out.println("Your Unique ID is : " + ID); } } - } public String SearchBook(String sentence) { @@ -96,20 +109,12 @@ public String SearchBook(String sentence) bufferedReader.close(); }catch (IOException e){ System.out.println("Wrong"); - e.printStackTrace(); } return flag; } public void Delete(String number) { - try { - BufferedReader bufferedReader = new BufferedReader(new FileReader("Book.txt")); - String line; - Total.clear(); - while ((line = bufferedReader.readLine()) != null) - { - Total.add(line); - } + ReadFileBook(); for (int i = 0; i < Total.size(); i++) { String line1 = Total.get(i); @@ -120,54 +125,27 @@ public void Delete(String number) Total.remove(i); } } - bufferedReader.close(); - FileWriter writer = new FileWriter("Book.txt"); - BufferedWriter bufferedWriter = new BufferedWriter(writer); - for (String temp : Total) - { - bufferedWriter.write(temp); - bufferedWriter.newLine(); - } - bufferedWriter.close(); - } catch (IOException e){ - System.out.println("Wrong"); - e.printStackTrace(); - } + WriteFileBook(); } public void Rent(String number) { - try { - BufferedReader bufferedReader = new BufferedReader(new FileReader("Book.txt")); - String line; - Total.clear(); - while ((line = bufferedReader.readLine()) != null) - { - Total.add(line); - } - for (int i = 0; i < Total.size(); i++) + ReadFileBook(); + for (int i = 0; i < Total.size(); i++) + { + String line1 = Total.get(i); + String[] list = line1.split("/"); + if (Objects.equals(list[0], number)) { - String line1 = Total.get(i); - String[] list = line1.split("/"); - if (Objects.equals(list[0], number)) - { - System.out.println("please read"); - Total.remove(i); - String temp = list[0] + "/" + list[1] + "/" + list[2] + "/" + list[3] + "/" + "false" ; - Total.add(temp); - } + System.out.println("please read"); + Total.remove(i); + String temp = list[0] + "/" + list[1] + "/" + list[2] + "/" + list[3] + "/" + "false" ; + Total.add(temp); } - bufferedReader.close(); - FileWriter writer = new FileWriter("Book.txt"); - BufferedWriter bufferedWriter = new BufferedWriter(writer); - for (String temp : Total) + else { - bufferedWriter.write(temp); - bufferedWriter.newLine(); + System.out.println("The book is rented."); } - bufferedWriter.close(); - }catch (IOException e){ - System.out.println("Wrong"); - e.printStackTrace(); } + WriteFileBook(); } -} +} \ No newline at end of file diff --git a/Answers/_40230112134/src/main/java/org/example/MyApp.java b/Answers/_40230112134/src/main/java/org/example/MyApp.java index 40ea69e..ffea1f3 100644 --- a/Answers/_40230112134/src/main/java/org/example/MyApp.java +++ b/Answers/_40230112134/src/main/java/org/example/MyApp.java @@ -1,15 +1,19 @@ package org.example; +import java.util.*; + public class MyApp { public static void main(String[] args) { Book book = new Book(); + book.AddBook(); + book.AddBook(); // book.AddBook(); - String mesal = book.SearchBook("1"); - System.out.println(mesal); - book.Rent("525"); - String mesal1 = book.SearchBook("1"); - System.out.println(mesal1); -// book.Delete("1"); + book.Rent("59"); + book.Rent("91"); + book.Delete("96"); + book.SearchBook("amir"); +// book.SearchBook("e"); +// book.SearchBook("a"); } } \ No newline at end of file From ec6fce88ab50dc65212b3c96dce24ac98c86cfd9 Mon Sep 17 00:00:00 2001 From: "Amir.Homa" Date: Wed, 8 May 2024 23:23:37 +0330 Subject: [PATCH 08/24] add user class --- .../src/main/java/org/example/Book.java | 22 +++++----- .../src/main/java/org/example/NormalUser.java | 44 +++++++++++++++++++ 2 files changed, 55 insertions(+), 11 deletions(-) create mode 100644 Answers/_40230112134/src/main/java/org/example/NormalUser.java diff --git a/Answers/_40230112134/src/main/java/org/example/Book.java b/Answers/_40230112134/src/main/java/org/example/Book.java index cdc212b..6d085c0 100644 --- a/Answers/_40230112134/src/main/java/org/example/Book.java +++ b/Answers/_40230112134/src/main/java/org/example/Book.java @@ -4,7 +4,7 @@ import java.io.*; public class Book extends UniqueID { - private String ID = getID(); + private final String ID = getID(); private String Title , Author , Description; ArrayList Total = new ArrayList<>(); boolean AvailabilityStatus; @@ -22,10 +22,10 @@ public Book() public void setTitle(String title) { Title = title; } public String getTitle() { return Title; } - public void WriteFileBook() + public void WriteFileBook(String filepath) { try { - FileWriter writer = new FileWriter("Book.txt"); + FileWriter writer = new FileWriter(filepath); BufferedWriter bufferedWriter = new BufferedWriter(writer); for (String temp : Total) { @@ -37,10 +37,10 @@ public void WriteFileBook() System.out.println("Wrong"); } } - public void ReadFileBook() + public void ReadFileBook(String filepath) { try { - BufferedReader bufferedReader = new BufferedReader(new FileReader("Book.txt")); + BufferedReader bufferedReader = new BufferedReader(new FileReader(filepath)); String line; Total.clear(); while ((line = bufferedReader.readLine()) != null) @@ -54,7 +54,7 @@ public void ReadFileBook() } public void AddBook() { - ReadFileBook(); + ReadFileBook("Book.txt"); System.out.println("Enter the name of the book"); Scanner scanner = new Scanner(System.in); Title = scanner.nextLine(); @@ -75,7 +75,7 @@ public void AddBook() else { Total.add(ID + "/" + Title + "/" + Author + "/" + Description + "/" + AvailabilityStatus); - WriteFileBook(); + WriteFileBook("Book.txt"); System.out.println("The book has been successfully added"); System.out.println("Your Unique ID is : " + ID); } @@ -114,7 +114,7 @@ public String SearchBook(String sentence) } public void Delete(String number) { - ReadFileBook(); + ReadFileBook("Book.txt"); for (int i = 0; i < Total.size(); i++) { String line1 = Total.get(i); @@ -125,11 +125,11 @@ public void Delete(String number) Total.remove(i); } } - WriteFileBook(); + WriteFileBook("Book.txt"); } public void Rent(String number) { - ReadFileBook(); + ReadFileBook("Book.txt"); for (int i = 0; i < Total.size(); i++) { String line1 = Total.get(i); @@ -146,6 +146,6 @@ public void Rent(String number) System.out.println("The book is rented."); } } - WriteFileBook(); + WriteFileBook("Book.txt"); } } \ No newline at end of file diff --git a/Answers/_40230112134/src/main/java/org/example/NormalUser.java b/Answers/_40230112134/src/main/java/org/example/NormalUser.java new file mode 100644 index 0000000..abf185e --- /dev/null +++ b/Answers/_40230112134/src/main/java/org/example/NormalUser.java @@ -0,0 +1,44 @@ +package org.example; + +import java.io.*; +import java.util.ArrayList; + +public class NormalUser extends Book{ + private String Name; + private String IDUser ; + private int PhoneNumber; + public NormalUser(String name,int phonenumber) + { + this.Name = name; + this.PhoneNumber = phonenumber; + this.IDUser = getID(); + } + public int getPhoneNumber() { + return PhoneNumber; + } + public void setPhoneNumber(int phoneNumber) { + PhoneNumber = phoneNumber; + } + public String getIDUser() { + return IDUser; + } + public void setIDUser(String IDUser) { + this.IDUser = IDUser; + } + public String getName() { + return Name; + } + public void setName(String name) { + Name = name; + } + ArrayList books = new ArrayList<>(); +} + +class Admin extends NormalUser{ + private final String Password = "8488"; + public Admin(String name, int phonenumber) + { + super(name, phonenumber); + } + +} \ No newline at end of file From 81101c30343d1f1c3ca6db32e57e492ff66872b2 Mon Sep 17 00:00:00 2001 From: "Amir.Homa" Date: Thu, 9 May 2024 12:42:12 +0330 Subject: [PATCH 09/24] Some changes --- .../src/main/java/org/example/Book.java | 158 ++++-------------- .../src/main/java/org/example/MyApp.java | 12 +- .../src/main/java/org/example/NormalUser.java | 120 ++++++++++++- .../src/main/java/org/example/UniqueID.java | 13 +- 4 files changed, 159 insertions(+), 144 deletions(-) diff --git a/Answers/_40230112134/src/main/java/org/example/Book.java b/Answers/_40230112134/src/main/java/org/example/Book.java index 6d085c0..e00208e 100644 --- a/Answers/_40230112134/src/main/java/org/example/Book.java +++ b/Answers/_40230112134/src/main/java/org/example/Book.java @@ -1,20 +1,25 @@ package org.example; import java.util.*; -import java.io.*; public class Book extends UniqueID { - private final String ID = getID(); + private String ID ; private String Title , Author , Description; ArrayList Total = new ArrayList<>(); - boolean AvailabilityStatus; + private boolean AvailabilityStatus; public Book() { this.Title = getTitle(); this.Description = getDescription(); this.Author = getAuthor(); + this.AvailabilityStatus = true; + this.ID = getUniqueID(); } + + public String getID() {return ID;} + public boolean getAvailabilityStatus(){return AvailabilityStatus;} + public void setAvailabilityStatus(boolean availabilityStatus) {AvailabilityStatus = availabilityStatus;} public void setAuthor(String author) { Author = author; } public String getAuthor() { return Author; } public String getDescription() { return Description; } @@ -22,130 +27,25 @@ public Book() public void setTitle(String title) { Title = title; } public String getTitle() { return Title; } - public void WriteFileBook(String filepath) - { - try { - FileWriter writer = new FileWriter(filepath); - BufferedWriter bufferedWriter = new BufferedWriter(writer); - for (String temp : Total) - { - bufferedWriter.write(temp); - bufferedWriter.newLine(); - } - bufferedWriter.close(); - } catch (IOException e){ - System.out.println("Wrong"); - } - } - public void ReadFileBook(String filepath) - { - try { - BufferedReader bufferedReader = new BufferedReader(new FileReader(filepath)); - String line; - Total.clear(); - while ((line = bufferedReader.readLine()) != null) - { - Total.add(line); - } - bufferedReader.close(); - } catch (IOException r){ - System.out.println("An error occurred."); - } - } - public void AddBook() - { - ReadFileBook("Book.txt"); - System.out.println("Enter the name of the book"); - Scanner scanner = new Scanner(System.in); - Title = scanner.nextLine(); - System.out.println("Enter the author of the book"); - Author = scanner.nextLine(); - System.out.println("Write a description of the book in one line"); - Description = scanner.nextLine(); - AvailabilityStatus = true; - for (int i = 0; i < Total.size(); i++) - { - String line = Total.get(i); - String[] list = line.split("/"); - if (Objects.equals(Title, list[1]) || Objects.equals(Author, list[2]) || Objects.equals(Description, list[3])) - { - System.out.println("you can not add the book"); - System.out.println("because we have that"); - } - else - { - Total.add(ID + "/" + Title + "/" + Author + "/" + Description + "/" + AvailabilityStatus); - WriteFileBook("Book.txt"); - System.out.println("The book has been successfully added"); - System.out.println("Your Unique ID is : " + ID); - } - } - } - public String SearchBook(String sentence) - { - String flag = "0"; - try{ - BufferedReader bufferedReader = new BufferedReader(new FileReader("Book.txt")); - String line; - while ((line = bufferedReader.readLine()) != null) - { - String[] list = line.split("/"); - for (int i = 0; i < list.length; i++) - { - if (Objects.equals(list[i], sentence)) - { - System.out.println("Your ID book: " + list[0]); - System.out.println("Your Title: " + list[1]); - System.out.println("Your Author: " + list[2]); - System.out.println("Your Description: " + list[3]); - System.out.println("Your Availability Status: " + list[4]); - flag = list[0]; - } - else - { - } - } - } - bufferedReader.close(); - }catch (IOException e){ - System.out.println("Wrong"); - } - return flag; - } - public void Delete(String number) - { - ReadFileBook("Book.txt"); - for (int i = 0; i < Total.size(); i++) - { - String line1 = Total.get(i); - String[] list = line1.split("/"); - if (Objects.equals(list[0], number)) - { - System.out.println("Successful"); - Total.remove(i); - } - } - WriteFileBook("Book.txt"); - } - public void Rent(String number) - { - ReadFileBook("Book.txt"); - for (int i = 0; i < Total.size(); i++) - { - String line1 = Total.get(i); - String[] list = line1.split("/"); - if (Objects.equals(list[0], number)) - { - System.out.println("please read"); - Total.remove(i); - String temp = list[0] + "/" + list[1] + "/" + list[2] + "/" + list[3] + "/" + "false" ; - Total.add(temp); - } - else - { - System.out.println("The book is rented."); - } - } - WriteFileBook("Book.txt"); - } +// public void Rent(String number) +// { +// ReadFileBook("Book.txt"); +// for (int i = 0; i < Total.size(); i++) +// { +// String line1 = Total.get(i); +// String[] list = line1.split("/"); +// if (Objects.equals(list[0], number)) +// { +// System.out.println("please read"); +// Total.remove(i); +// String temp = list[0] + "/" + list[1] + "/" + list[2] + "/" + list[3] + "/" + "false" ; +// Total.add(temp); +// } +// else +// { +// System.out.println("The book is rented."); +// } +// } +// WriteFileBook("Book.txt"); +// } } \ No newline at end of file diff --git a/Answers/_40230112134/src/main/java/org/example/MyApp.java b/Answers/_40230112134/src/main/java/org/example/MyApp.java index ffea1f3..4c88659 100644 --- a/Answers/_40230112134/src/main/java/org/example/MyApp.java +++ b/Answers/_40230112134/src/main/java/org/example/MyApp.java @@ -5,13 +5,13 @@ public class MyApp { public static void main(String[] args) { Book book = new Book(); - book.AddBook(); - book.AddBook(); // book.AddBook(); - book.Rent("59"); - book.Rent("91"); - book.Delete("96"); - book.SearchBook("amir"); +// book.AddBook(); +//// book.AddBook(); +// book.Rent("59"); +// book.Rent("91"); +// book.Delete("96"); +// book.SearchBook("amir"); // book.SearchBook("e"); // book.SearchBook("a"); } diff --git a/Answers/_40230112134/src/main/java/org/example/NormalUser.java b/Answers/_40230112134/src/main/java/org/example/NormalUser.java index abf185e..a63fe4e 100644 --- a/Answers/_40230112134/src/main/java/org/example/NormalUser.java +++ b/Answers/_40230112134/src/main/java/org/example/NormalUser.java @@ -2,8 +2,12 @@ import java.io.*; import java.util.ArrayList; +import java.util.Objects; +import java.util.Scanner; -public class NormalUser extends Book{ +public class NormalUser extends UniqueID { + + Book book = new Book(); private String Name; private String IDUser ; private int PhoneNumber; @@ -11,7 +15,7 @@ public NormalUser(String name,int phonenumber) { this.Name = name; this.PhoneNumber = phonenumber; - this.IDUser = getID(); + this.IDUser = getUniqueID(); } public int getPhoneNumber() { return PhoneNumber; @@ -31,14 +35,120 @@ public String getName() { public void setName(String name) { Name = name; } - ArrayList books = new ArrayList<>(); + + public void WriteFileBook(String filepath) + { + try { + FileWriter writer = new FileWriter(filepath); + BufferedWriter bufferedWriter = new BufferedWriter(writer); + for (String temp : book.Total) + { + bufferedWriter.write(temp); + bufferedWriter.newLine(); + } + bufferedWriter.close(); + } catch (IOException e){ + System.out.println("Wrong"); + } + } + public void ReadFileBook(String filepath) + { + try { + BufferedReader bufferedReader = new BufferedReader(new FileReader(filepath)); + String line; + book.Total.clear(); + while ((line = bufferedReader.readLine()) != null) + { + book.Total.add(line); + } + bufferedReader.close(); + } catch (IOException r){ + System.out.println("An error occurred."); + } + } + public void AddBook() + { + ReadFileBook("Book.txt"); + System.out.println("Enter the name of the book"); + Scanner scanner = new Scanner(System.in); + book.setTitle(scanner.nextLine()); + System.out.println("Enter the author of the book"); + book.setAuthor(scanner.nextLine()); + System.out.println("Write a description of the book in one line"); + book.setDescription(scanner.nextLine()); + book.setAvailabilityStatus(true); + for (int i = 0; i < book.Total.size(); i++) + { + String line = book.Total.get(i); + String[] list = line.split("/"); + if (Objects.equals(book.getTitle(), list[1]) || Objects.equals(book.getAuthor(), list[2]) || Objects.equals(book.getDescription(), list[3])) + { + System.out.println("you can not add the book"); + System.out.println("because we have that"); + } + else + { + book.Total.add(book.getID() + "/" + book.getTitle() + "/" + book.getAuthor() + "/" + book.getDescription() + "/" + book.getAvailabilityStatus()); + WriteFileBook("Book.txt"); + System.out.println("The book has been successfully added"); + System.out.println("Your Unique ID is : " + book.getID()); + } + } + } + public String SearchBook(String sentence) + { + String flag = "0"; + try{ + BufferedReader bufferedReader = new BufferedReader(new FileReader("Book.txt")); + String line; + while ((line = bufferedReader.readLine()) != null) + { + String[] list = line.split("/"); + for (int i = 0; i < list.length; i++) + { + if (Objects.equals(list[i], sentence)) + { + System.out.println("Your ID book: " + list[0]); + System.out.println("Your Title: " + list[1]); + System.out.println("Your Author: " + list[2]); + System.out.println("Your Description: " + list[3]); + System.out.println("Your Availability Status: " + list[4]); + flag = list[0]; + } + else + { + } + } + } + bufferedReader.close(); + }catch (IOException e){ + System.out.println("Wrong"); + } + return flag; + } + public void Delete(String number) + { + ReadFileBook("Book.txt"); + for (int i = 0; i < book.Total.size(); i++) + { + String line1 = book.Total.get(i); + String[] list = line1.split("/"); + if (Objects.equals(list[0], number)) + { + System.out.println("Successful"); + book.Total.remove(i); + } + } + WriteFileBook("Book.txt"); + } } class Admin extends NormalUser{ - private final String Password = "8488"; + private final String Password; public Admin(String name, int phonenumber) { super(name, phonenumber); + this.Password = "8488"; } - + public String getPassword() {return Password;} } \ No newline at end of file diff --git a/Answers/_40230112134/src/main/java/org/example/UniqueID.java b/Answers/_40230112134/src/main/java/org/example/UniqueID.java index 99f074a..93f8a30 100644 --- a/Answers/_40230112134/src/main/java/org/example/UniqueID.java +++ b/Answers/_40230112134/src/main/java/org/example/UniqueID.java @@ -3,9 +3,14 @@ import java.util.Random; public abstract class UniqueID { - public static String getID() - { - Random randomnumber = new Random(); - return String.valueOf(randomnumber.nextInt(1000) + 1); + private int UniqueID ; + public UniqueID(){ + this.UniqueID = 0; + } + + public String getUniqueID() { + int IDID = this.UniqueID; + this.UniqueID ++; + return String.valueOf(IDID); } } From dd69df0af166db4c3bbe36f8939eca1d153f1e59 Mon Sep 17 00:00:00 2001 From: "Amir.Homa" Date: Thu, 9 May 2024 14:46:38 +0330 Subject: [PATCH 10/24] add homepage --- .../src/main/java/org/example/Admin.java | 15 ++ .../src/main/java/org/example/Library.java | 53 ++++++ .../src/main/java/org/example/MyApp.java | 5 +- .../src/main/java/org/example/NormalUser.java | 152 +----------------- .../src/main/java/org/example/UniqueID.java | 17 +- .../src/main/java/org/example/User.java | 142 ++++++++++++++++ 6 files changed, 222 insertions(+), 162 deletions(-) create mode 100644 Answers/_40230112134/src/main/java/org/example/Admin.java create mode 100644 Answers/_40230112134/src/main/java/org/example/Library.java create mode 100644 Answers/_40230112134/src/main/java/org/example/User.java diff --git a/Answers/_40230112134/src/main/java/org/example/Admin.java b/Answers/_40230112134/src/main/java/org/example/Admin.java new file mode 100644 index 0000000..c20b1e5 --- /dev/null +++ b/Answers/_40230112134/src/main/java/org/example/Admin.java @@ -0,0 +1,15 @@ +package org.example; + +class Admin extends User { + private final String Password; + public Admin(String name, String phonenumber) + { + super(name, phonenumber); + this.Password = "8488"; + } + public String getPassword() {return Password;} +} + + + + diff --git a/Answers/_40230112134/src/main/java/org/example/Library.java b/Answers/_40230112134/src/main/java/org/example/Library.java new file mode 100644 index 0000000..47f70c2 --- /dev/null +++ b/Answers/_40230112134/src/main/java/org/example/Library.java @@ -0,0 +1,53 @@ +package org.example; + +import java.util.*; + +public class Library { + public void CLIComment() + { + boolean flag = true; + while (flag) { + System.out.println("lib add book"); + System.out.println("lib get hrs"); + System.out.println("lib rent book"); + System.out.println("lib add member"); + System.out.println("lib rent"); + System.out.println("lib get available books"); + System.out.println("lib remove member"); + System.out.println("lib return book"); + System.out.println("Enter your comment :"); + Scanner scanner = new Scanner(System.in); + String comment = scanner.nextLine(); + switch (comment) { + case "lib add book": + + break; + case "lib get hrs": + + break; + case "lib rent book": + + break; + case "lib add member": + + break; + case "lib get available books": + + break; + case "lib remove member": + + break; + case "lib return book": + + break; + case "exit": + flag = false; + break; + default: + System.out.println("please enter again"); + break; + } + } + } + +} diff --git a/Answers/_40230112134/src/main/java/org/example/MyApp.java b/Answers/_40230112134/src/main/java/org/example/MyApp.java index 4c88659..f6632ee 100644 --- a/Answers/_40230112134/src/main/java/org/example/MyApp.java +++ b/Answers/_40230112134/src/main/java/org/example/MyApp.java @@ -2,9 +2,9 @@ import java.util.*; -public class MyApp { +public class MyApp extends UniqueID{ public static void main(String[] args) { - Book book = new Book(); +// Book book = new Book(); // book.AddBook(); // book.AddBook(); //// book.AddBook(); @@ -15,5 +15,4 @@ public static void main(String[] args) { // book.SearchBook("e"); // book.SearchBook("a"); } - } \ No newline at end of file diff --git a/Answers/_40230112134/src/main/java/org/example/NormalUser.java b/Answers/_40230112134/src/main/java/org/example/NormalUser.java index a63fe4e..2fe7fab 100644 --- a/Answers/_40230112134/src/main/java/org/example/NormalUser.java +++ b/Answers/_40230112134/src/main/java/org/example/NormalUser.java @@ -1,154 +1,8 @@ package org.example; -import java.io.*; -import java.util.ArrayList; -import java.util.Objects; -import java.util.Scanner; +public class NormalUser extends User{ -public class NormalUser extends UniqueID { - - Book book = new Book(); - private String Name; - private String IDUser ; - private int PhoneNumber; - public NormalUser(String name,int phonenumber) - { - this.Name = name; - this.PhoneNumber = phonenumber; - this.IDUser = getUniqueID(); - } - public int getPhoneNumber() { - return PhoneNumber; - } - public void setPhoneNumber(int phoneNumber) { - PhoneNumber = phoneNumber; - } - public String getIDUser() { - return IDUser; - } - public void setIDUser(String IDUser) { - this.IDUser = IDUser; - } - public String getName() { - return Name; - } - public void setName(String name) { - Name = name; - } - - public void WriteFileBook(String filepath) - { - try { - FileWriter writer = new FileWriter(filepath); - BufferedWriter bufferedWriter = new BufferedWriter(writer); - for (String temp : book.Total) - { - bufferedWriter.write(temp); - bufferedWriter.newLine(); - } - bufferedWriter.close(); - } catch (IOException e){ - System.out.println("Wrong"); - } - } - public void ReadFileBook(String filepath) - { - try { - BufferedReader bufferedReader = new BufferedReader(new FileReader(filepath)); - String line; - book.Total.clear(); - while ((line = bufferedReader.readLine()) != null) - { - book.Total.add(line); - } - bufferedReader.close(); - } catch (IOException r){ - System.out.println("An error occurred."); - } - } - public void AddBook() - { - ReadFileBook("Book.txt"); - System.out.println("Enter the name of the book"); - Scanner scanner = new Scanner(System.in); - book.setTitle(scanner.nextLine()); - System.out.println("Enter the author of the book"); - book.setAuthor(scanner.nextLine()); - System.out.println("Write a description of the book in one line"); - book.setDescription(scanner.nextLine()); - book.setAvailabilityStatus(true); - for (int i = 0; i < book.Total.size(); i++) - { - String line = book.Total.get(i); - String[] list = line.split("/"); - if (Objects.equals(book.getTitle(), list[1]) || Objects.equals(book.getAuthor(), list[2]) || Objects.equals(book.getDescription(), list[3])) - { - System.out.println("you can not add the book"); - System.out.println("because we have that"); - } - else - { - book.Total.add(book.getID() + "/" + book.getTitle() + "/" + book.getAuthor() + "/" + book.getDescription() + "/" + book.getAvailabilityStatus()); - WriteFileBook("Book.txt"); - System.out.println("The book has been successfully added"); - System.out.println("Your Unique ID is : " + book.getID()); - } - } - } - public String SearchBook(String sentence) - { - String flag = "0"; - try{ - BufferedReader bufferedReader = new BufferedReader(new FileReader("Book.txt")); - String line; - while ((line = bufferedReader.readLine()) != null) - { - String[] list = line.split("/"); - for (int i = 0; i < list.length; i++) - { - if (Objects.equals(list[i], sentence)) - { - System.out.println("Your ID book: " + list[0]); - System.out.println("Your Title: " + list[1]); - System.out.println("Your Author: " + list[2]); - System.out.println("Your Description: " + list[3]); - System.out.println("Your Availability Status: " + list[4]); - flag = list[0]; - } - else - { - } - } - } - bufferedReader.close(); - }catch (IOException e){ - System.out.println("Wrong"); - } - return flag; - } - public void Delete(String number) - { - ReadFileBook("Book.txt"); - for (int i = 0; i < book.Total.size(); i++) - { - String line1 = book.Total.get(i); - String[] list = line1.split("/"); - if (Objects.equals(list[0], number)) - { - System.out.println("Successful"); - book.Total.remove(i); - } - } - WriteFileBook("Book.txt"); + public NormalUser(String name, String phoneNumber) { + super(name, phoneNumber); } } - -class Admin extends NormalUser{ - private final String Password; - public Admin(String name, int phonenumber) - { - super(name, phonenumber); - this.Password = "8488"; - } - public String getPassword() {return Password;} -} \ No newline at end of file diff --git a/Answers/_40230112134/src/main/java/org/example/UniqueID.java b/Answers/_40230112134/src/main/java/org/example/UniqueID.java index 93f8a30..cd42baf 100644 --- a/Answers/_40230112134/src/main/java/org/example/UniqueID.java +++ b/Answers/_40230112134/src/main/java/org/example/UniqueID.java @@ -1,16 +1,13 @@ package org.example; -import java.util.Random; - -public abstract class UniqueID { - private int UniqueID ; - public UniqueID(){ +public class UniqueID { + static int UniqueID ; + public UniqueID() { this.UniqueID = 0; } - - public String getUniqueID() { - int IDID = this.UniqueID; - this.UniqueID ++; + public static String getUniqueID() { + int IDID = UniqueID; + UniqueID ++; return String.valueOf(IDID); } -} +} \ No newline at end of file diff --git a/Answers/_40230112134/src/main/java/org/example/User.java b/Answers/_40230112134/src/main/java/org/example/User.java new file mode 100644 index 0000000..a619788 --- /dev/null +++ b/Answers/_40230112134/src/main/java/org/example/User.java @@ -0,0 +1,142 @@ +package org.example; + +import java.io.*; +import java.util.*; + +public class User extends UniqueID { + Book book = new Book(); + private String Name; + private String IDUser ; + private String PhoneNumber; + public User(String name , String phoneNumber ) + { + this.Name = name; + this.PhoneNumber = phoneNumber; + this.IDUser = getUniqueID(); + } + public String getPhoneNumber() { + return PhoneNumber; + } + public void setPhoneNumber(String phoneNumber) { + PhoneNumber = phoneNumber; + } + public String getIDUser() { + return IDUser; + } + public void setIDUser(String IDUser) { + this.IDUser = IDUser; + } + public String getName() { + return Name; + } + public void setName(String name) { + Name = name; + } + + public void WriteFileBook(String filepath) + { + try { + FileWriter writer = new FileWriter(filepath); + BufferedWriter bufferedWriter = new BufferedWriter(writer); + for (String temp : book.Total) + { + bufferedWriter.write(temp); + bufferedWriter.newLine(); + } + bufferedWriter.close(); + } catch (IOException e){ + System.out.println("Wrong"); + } + } + public void ReadFileBook(String filepath) + { + try { + BufferedReader bufferedReader = new BufferedReader(new FileReader(filepath)); + String line; + book.Total.clear(); + while ((line = bufferedReader.readLine()) != null) + { + book.Total.add(line); + } + bufferedReader.close(); + } catch (IOException r){ + System.out.println("An error occurred."); + } + } + public void AddBook() + { + ReadFileBook("Book.txt"); + System.out.println("Enter the name of the book"); + Scanner scanner = new Scanner(System.in); + book.setTitle(scanner.nextLine()); + System.out.println("Enter the author of the book"); + book.setAuthor(scanner.nextLine()); + System.out.println("Write a description of the book in one line"); + book.setDescription(scanner.nextLine()); + book.setAvailabilityStatus(true); + for (int i = 0; i < book.Total.size(); i++) + { + String line = book.Total.get(i); + String[] list = line.split("/"); + if (Objects.equals(book.getTitle(), list[1]) || Objects.equals(book.getAuthor(), list[2]) || Objects.equals(book.getDescription(), list[3])) + { + System.out.println("you can not add the book"); + System.out.println("because we have that"); + } + else + { + book.Total.add(book.getID() + "/" + book.getTitle() + "/" + book.getAuthor() + "/" + book.getDescription() + "/" + book.getAvailabilityStatus()); + WriteFileBook("Book.txt"); + System.out.println("The book has been successfully added"); + System.out.println("Your Unique ID is : " + book.getID()); + break; + } + } + } + public String SearchBook(String sentence) + { + String flag = "0"; + try{ + BufferedReader bufferedReader = new BufferedReader(new FileReader("Book.txt")); + String line; + while ((line = bufferedReader.readLine()) != null) + { + String[] list = line.split("/"); + for (int i = 0; i < list.length; i++) + { + if (Objects.equals(list[i], sentence)) + { + System.out.println("Your ID book: " + list[0]); + System.out.println("Your Title: " + list[1]); + System.out.println("Your Author: " + list[2]); + System.out.println("Your Description: " + list[3]); + System.out.println("Your Availability Status: " + list[4]); + flag = list[0]; + } + else + { + } + } + } + bufferedReader.close(); + }catch (IOException e){ + System.out.println("Wrong"); + } + return flag; + } + public void Delete(String number) + { + ReadFileBook("Book.txt"); + for (int i = 0; i < book.Total.size(); i++) + { + String line1 = book.Total.get(i); + String[] list = line1.split("/"); + if (Objects.equals(list[0], number)) + { + System.out.println("Successful"); + book.Total.remove(i); + } + } + WriteFileBook("Book.txt"); + } +} \ No newline at end of file From 4bdc2e8dde84eb1c8851c0e23337bcecec2a058d Mon Sep 17 00:00:00 2001 From: "Amir.Homa" Date: Thu, 9 May 2024 18:01:18 +0330 Subject: [PATCH 11/24] add rent class --- .../src/main/java/org/example/Library.java | 1 - .../src/main/java/org/example/NormalUser.java | 10 +++++++++- .../src/main/java/org/example/Rent.java | 15 +++++++++++++++ .../src/main/java/org/example/User.java | 5 +++++ 4 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 Answers/_40230112134/src/main/java/org/example/Rent.java diff --git a/Answers/_40230112134/src/main/java/org/example/Library.java b/Answers/_40230112134/src/main/java/org/example/Library.java index 47f70c2..81986c7 100644 --- a/Answers/_40230112134/src/main/java/org/example/Library.java +++ b/Answers/_40230112134/src/main/java/org/example/Library.java @@ -49,5 +49,4 @@ public void CLIComment() } } } - } diff --git a/Answers/_40230112134/src/main/java/org/example/NormalUser.java b/Answers/_40230112134/src/main/java/org/example/NormalUser.java index 2fe7fab..fc01d51 100644 --- a/Answers/_40230112134/src/main/java/org/example/NormalUser.java +++ b/Answers/_40230112134/src/main/java/org/example/NormalUser.java @@ -1,8 +1,16 @@ package org.example; -public class NormalUser extends User{ +import java.time.*; +import java.time.format.DateTimeFormatter; +public class NormalUser extends User { + + LocalDateTime currentDateTime = LocalDateTime.now(); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + private String formattedDateTime = currentDateTime.format(formatter); public NormalUser(String name, String phoneNumber) { super(name, phoneNumber); } + public NormalUser() { super(); } + public String getFormattedDateTime() { return formattedDateTime; } } diff --git a/Answers/_40230112134/src/main/java/org/example/Rent.java b/Answers/_40230112134/src/main/java/org/example/Rent.java new file mode 100644 index 0000000..56aa1e1 --- /dev/null +++ b/Answers/_40230112134/src/main/java/org/example/Rent.java @@ -0,0 +1,15 @@ +package org.example; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +public class Rent extends UniqueID{ + Book book; + User user; + LocalDateTime currentDateTime = LocalDateTime.now(); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + private final String RentalDate = currentDateTime.format(formatter); + private final String RentID = getUniqueID(); + public String getRentID() { return RentID; } + public String getRentalDate() { return RentalDate; } +} diff --git a/Answers/_40230112134/src/main/java/org/example/User.java b/Answers/_40230112134/src/main/java/org/example/User.java index a619788..4a7ee1e 100644 --- a/Answers/_40230112134/src/main/java/org/example/User.java +++ b/Answers/_40230112134/src/main/java/org/example/User.java @@ -14,6 +14,11 @@ public User(String name , String phoneNumber ) this.PhoneNumber = phoneNumber; this.IDUser = getUniqueID(); } + + public User() { + + } + public String getPhoneNumber() { return PhoneNumber; } From 09a2a198056e9300fd3b7efcf763d5c42b6ffdaa Mon Sep 17 00:00:00 2001 From: "Amir.Homa" Date: Thu, 9 May 2024 18:08:19 +0330 Subject: [PATCH 12/24] Rent class complete --- .../src/main/java/org/example/Book.java | 22 ------------------- .../src/main/java/org/example/Rent.java | 22 +++++++++++++++++++ .../src/main/java/org/example/UniqueID.java | 4 ++-- .../src/main/java/org/example/User.java | 6 +---- 4 files changed, 25 insertions(+), 29 deletions(-) diff --git a/Answers/_40230112134/src/main/java/org/example/Book.java b/Answers/_40230112134/src/main/java/org/example/Book.java index e00208e..0756f3a 100644 --- a/Answers/_40230112134/src/main/java/org/example/Book.java +++ b/Answers/_40230112134/src/main/java/org/example/Book.java @@ -26,26 +26,4 @@ public Book() public void setDescription(String description) { Description = description; } public void setTitle(String title) { Title = title; } public String getTitle() { return Title; } - -// public void Rent(String number) -// { -// ReadFileBook("Book.txt"); -// for (int i = 0; i < Total.size(); i++) -// { -// String line1 = Total.get(i); -// String[] list = line1.split("/"); -// if (Objects.equals(list[0], number)) -// { -// System.out.println("please read"); -// Total.remove(i); -// String temp = list[0] + "/" + list[1] + "/" + list[2] + "/" + list[3] + "/" + "false" ; -// Total.add(temp); -// } -// else -// { -// System.out.println("The book is rented."); -// } -// } -// WriteFileBook("Book.txt"); -// } } \ No newline at end of file diff --git a/Answers/_40230112134/src/main/java/org/example/Rent.java b/Answers/_40230112134/src/main/java/org/example/Rent.java index 56aa1e1..da5e8d8 100644 --- a/Answers/_40230112134/src/main/java/org/example/Rent.java +++ b/Answers/_40230112134/src/main/java/org/example/Rent.java @@ -2,6 +2,7 @@ import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; +import java.util.Objects; public class Rent extends UniqueID{ Book book; @@ -12,4 +13,25 @@ public class Rent extends UniqueID{ private final String RentID = getUniqueID(); public String getRentID() { return RentID; } public String getRentalDate() { return RentalDate; } + public void Rent(String number , String filepath) + { + user.ReadFileBook(filepath); + for (int i = 0; i < book.Total.size(); i++) + { + String line1 = book.Total.get(i); + String[] list = line1.split("/"); + if (Objects.equals(list[0], number)) + { + System.out.println("please read"); + book.Total.remove(i); + String temp = list[0] + "/" + list[1] + "/" + list[2] + "/" + list[3] + "/" + "false" ; + book.Total.add(temp); + } + else + { + System.out.println("The book is rented."); + } + } + user.WriteFileBook(filepath); + } } diff --git a/Answers/_40230112134/src/main/java/org/example/UniqueID.java b/Answers/_40230112134/src/main/java/org/example/UniqueID.java index cd42baf..8eea6a8 100644 --- a/Answers/_40230112134/src/main/java/org/example/UniqueID.java +++ b/Answers/_40230112134/src/main/java/org/example/UniqueID.java @@ -6,8 +6,8 @@ public UniqueID() { this.UniqueID = 0; } public static String getUniqueID() { - int IDID = UniqueID; + int uniqueID = UniqueID; UniqueID ++; - return String.valueOf(IDID); + return String.valueOf(uniqueID); } } \ No newline at end of file diff --git a/Answers/_40230112134/src/main/java/org/example/User.java b/Answers/_40230112134/src/main/java/org/example/User.java index 4a7ee1e..3610821 100644 --- a/Answers/_40230112134/src/main/java/org/example/User.java +++ b/Answers/_40230112134/src/main/java/org/example/User.java @@ -14,11 +14,7 @@ public User(String name , String phoneNumber ) this.PhoneNumber = phoneNumber; this.IDUser = getUniqueID(); } - - public User() { - - } - + public User() {} public String getPhoneNumber() { return PhoneNumber; } From 2a46e2d923c53c89d03af45879b8eaf624f64f57 Mon Sep 17 00:00:00 2001 From: "Amir.Homa" Date: Fri, 10 May 2024 01:27:34 +0330 Subject: [PATCH 13/24] add library class --- Answers/_40230112134/Book.txt | 14 +-- .../src/main/java/org/example/Admin.java | 15 --- .../src/main/java/org/example/Library.java | 19 +++ .../src/main/java/org/example/MyApp.java | 4 +- .../src/main/java/org/example/NormalUser.java | 16 --- .../src/main/java/org/example/UniqueID.java | 16 +-- .../src/main/java/org/example/User.java | 108 +++++++++++++----- 7 files changed, 118 insertions(+), 74 deletions(-) delete mode 100644 Answers/_40230112134/src/main/java/org/example/Admin.java delete mode 100644 Answers/_40230112134/src/main/java/org/example/NormalUser.java diff --git a/Answers/_40230112134/Book.txt b/Answers/_40230112134/Book.txt index 9692793..3ba3104 100644 --- a/Answers/_40230112134/Book.txt +++ b/Answers/_40230112134/Book.txt @@ -1,7 +1,7 @@ -210/amir/homa/1548631/true -210/ali/homauni/dasgdffd/true -210/aaaaaaaaaaaaaaaaaa/aaaaaaaaaaaaaaaa/aaaaaaaaaaaaaaaaa/true -191/dddddddddddddd/ffffffffffff/ddffdffddf/true -191/dfddfd/dfdffffff/fdddddddddddddd/true -59/w/e/we/false -91/wer/ewr/we/false +1/a/a/a/true +2/s/s/s/true +3/d/d/d/true +4/f/f/f/true +5/g/g/g/true +7/hj/jkk/jk/true +8/123456/444449685132/qwertyuio/true diff --git a/Answers/_40230112134/src/main/java/org/example/Admin.java b/Answers/_40230112134/src/main/java/org/example/Admin.java deleted file mode 100644 index c20b1e5..0000000 --- a/Answers/_40230112134/src/main/java/org/example/Admin.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.example; - -class Admin extends User { - private final String Password; - public Admin(String name, String phonenumber) - { - super(name, phonenumber); - this.Password = "8488"; - } - public String getPassword() {return Password;} -} - - - - diff --git a/Answers/_40230112134/src/main/java/org/example/Library.java b/Answers/_40230112134/src/main/java/org/example/Library.java index 81986c7..8658554 100644 --- a/Answers/_40230112134/src/main/java/org/example/Library.java +++ b/Answers/_40230112134/src/main/java/org/example/Library.java @@ -3,6 +3,17 @@ import java.util.*; public class Library { + private final String LibraryName; + private final String OperatingHours; + private final String Capacity; + public Library(){ + this.LibraryName = "HOMA"; + this.OperatingHours = "9 a.m. - 9 p.m."; + this.Capacity = "Infinity"; + } + public String getCapacity() { return Capacity; } + public String getOperatingHours() { return OperatingHours; } + public String getLibraryName() { return LibraryName; } public void CLIComment() { boolean flag = true; @@ -21,6 +32,7 @@ public void CLIComment() switch (comment) { case "lib add book": + CLIComment(); break; case "lib get hrs": @@ -49,4 +61,11 @@ public void CLIComment() } } } + + public static void main(String[] args) { + User user = new User(); +// user.AddBook(); +// user.Delete("6"); + user.SearchBook("a"); + } } diff --git a/Answers/_40230112134/src/main/java/org/example/MyApp.java b/Answers/_40230112134/src/main/java/org/example/MyApp.java index f6632ee..631316b 100644 --- a/Answers/_40230112134/src/main/java/org/example/MyApp.java +++ b/Answers/_40230112134/src/main/java/org/example/MyApp.java @@ -1,13 +1,11 @@ package org.example; -import java.util.*; - public class MyApp extends UniqueID{ public static void main(String[] args) { // Book book = new Book(); // book.AddBook(); // book.AddBook(); -//// book.AddBook(); +// book.AddBook(); // book.Rent("59"); // book.Rent("91"); // book.Delete("96"); diff --git a/Answers/_40230112134/src/main/java/org/example/NormalUser.java b/Answers/_40230112134/src/main/java/org/example/NormalUser.java deleted file mode 100644 index fc01d51..0000000 --- a/Answers/_40230112134/src/main/java/org/example/NormalUser.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.example; - -import java.time.*; -import java.time.format.DateTimeFormatter; - -public class NormalUser extends User { - - LocalDateTime currentDateTime = LocalDateTime.now(); - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); - private String formattedDateTime = currentDateTime.format(formatter); - public NormalUser(String name, String phoneNumber) { - super(name, phoneNumber); - } - public NormalUser() { super(); } - public String getFormattedDateTime() { return formattedDateTime; } -} diff --git a/Answers/_40230112134/src/main/java/org/example/UniqueID.java b/Answers/_40230112134/src/main/java/org/example/UniqueID.java index 8eea6a8..843c187 100644 --- a/Answers/_40230112134/src/main/java/org/example/UniqueID.java +++ b/Answers/_40230112134/src/main/java/org/example/UniqueID.java @@ -1,13 +1,15 @@ package org.example; public class UniqueID { - static int UniqueID ; - public UniqueID() { - this.UniqueID = 0; + private int UniqueID = getUniqueIDINT(); + public String getUniqueID() { + return String.valueOf(this.UniqueID); } - public static String getUniqueID() { - int uniqueID = UniqueID; - UniqueID ++; - return String.valueOf(uniqueID); + public int getUniqueIDINT() { + return this.UniqueID; + } + + public void setUniqueID(int uniqueID) { + this.UniqueID = uniqueID + 1; } } \ No newline at end of file diff --git a/Answers/_40230112134/src/main/java/org/example/User.java b/Answers/_40230112134/src/main/java/org/example/User.java index 3610821..6726b46 100644 --- a/Answers/_40230112134/src/main/java/org/example/User.java +++ b/Answers/_40230112134/src/main/java/org/example/User.java @@ -1,6 +1,8 @@ package org.example; import java.io.*; +import java.time.*; +import java.time.format.*; import java.util.*; public class User extends UniqueID { @@ -79,51 +81,58 @@ public void AddBook() { String line = book.Total.get(i); String[] list = line.split("/"); - if (Objects.equals(book.getTitle(), list[1]) || Objects.equals(book.getAuthor(), list[2]) || Objects.equals(book.getDescription(), list[3])) + if (Objects.equals(book.getTitle(), list[1]) || Objects.equals(book.getDescription(), list[3])) { System.out.println("you can not add the book"); System.out.println("because we have that"); } else { - book.Total.add(book.getID() + "/" + book.getTitle() + "/" + book.getAuthor() + "/" + book.getDescription() + "/" + book.getAvailabilityStatus()); + setUniqueID(FindBigID(book.Total)); + book.Total.add(getUniqueIDINT() + "/" + book.getTitle() + "/" + book.getAuthor() + "/" + book.getDescription() + "/" + book.getAvailabilityStatus()); WriteFileBook("Book.txt"); System.out.println("The book has been successfully added"); - System.out.println("Your Unique ID is : " + book.getID()); + System.out.println("Your Unique ID is : " + getUniqueIDINT()); break; } } + if (book.Total.isEmpty()) { + setUniqueID(1); + book.Total.add(getUniqueIDINT() + "/" + book.getTitle() + "/" + book.getAuthor() + "/" + book.getDescription() + "/" + book.getAvailabilityStatus()); + WriteFileBook("Book.txt"); + System.out.println("The book has been successfully added"); + System.out.println("Your Unique ID is : " + getUniqueIDINT()); + } } - public String SearchBook(String sentence) + public void SearchBook(String sentence) { - String flag = "0"; - try{ - BufferedReader bufferedReader = new BufferedReader(new FileReader("Book.txt")); - String line; - while ((line = bufferedReader.readLine()) != null) + boolean flag = false; + ReadFileBook("Book.txt"); + char[] word = sentence.toCharArray(); + for (int i = 0; i < book.Total.size(); i++) + { + char[] jomle = book.Total.get(i).toCharArray(); + for (int j = 0; j < jomle.length; j++) { - String[] list = line.split("/"); - for (int i = 0; i < list.length; i++) + for (int k = 0; k < word.length; k++) { - if (Objects.equals(list[i], sentence)) - { - System.out.println("Your ID book: " + list[0]); - System.out.println("Your Title: " + list[1]); - System.out.println("Your Author: " + list[2]); - System.out.println("Your Description: " + list[3]); - System.out.println("Your Availability Status: " + list[4]); - flag = list[0]; - } - else + if (word[k] == jomle[j]) { + flag = true; } } } - bufferedReader.close(); - }catch (IOException e){ - System.out.println("Wrong"); + if (flag == true) + { + String[] list = book.Total.get(i).split("/"); + System.out.println("Your ID book: " + list[0]); + System.out.println("Your Title: " + list[1]); + System.out.println("Your Author: " + list[2]); + System.out.println("Your Description: " + list[3]); + System.out.println("Your Availability Status: " + list[4]); + } } - return flag; + WriteFileBook("Book.txt"); } public void Delete(String number) { @@ -134,10 +143,57 @@ public void Delete(String number) String[] list = line1.split("/"); if (Objects.equals(list[0], number)) { - System.out.println("Successful"); + System.out.println("The deletion was successful"); book.Total.remove(i); } } WriteFileBook("Book.txt"); } + public int FindBigID(ArrayList total) + { + int bigerid = 0; + for (int i = 0; i < total.size(); i++) + { + String[] list = total.get(i).split("/"); + char[] id = list[0].toCharArray(); + int[] numbersArray = new int[id.length]; + int[] numbers = new int[id.length]; + int x=0; + for (int j = 0; j < id.length; j++) + { + numbersArray[j] = ((int) id[j])-48; + } + int c=1; + for (int j = 0; j < id.length; j++) + { + x += (numbersArray[j]*c); + c *= 10; + } + if (x > bigerid) + { + bigerid = x; + } + } + return bigerid; + } +} +class NormalUser extends User { + + LocalDateTime currentDateTime = LocalDateTime.now(); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + private String formattedDateTime = currentDateTime.format(formatter); + public NormalUser(String name, String phoneNumber) { + super(name, phoneNumber); + } + public NormalUser() { super(); } + public String getFormattedDateTime() { return formattedDateTime; } +} +class Admin extends User { + private final String Password; + public Admin(String name, String phonenumber) + { + super(name, phonenumber); + this.Password = "8488"; + } + public String getPassword() {return Password;} } \ No newline at end of file From 736a2dd9aa408f0a5bfbced45e0b85cd96c1e80c Mon Sep 17 00:00:00 2001 From: "Amir.Homa" Date: Fri, 10 May 2024 14:46:01 +0330 Subject: [PATCH 14/24] Correct previous methods --- Answers/_40230112134/Book.txt | 7 ++- Answers/_40230112134/Rent.txt | 0 .../src/main/java/org/example/Book.java | 5 +- .../src/main/java/org/example/Library.java | 7 --- .../src/main/java/org/example/Rent.java | 35 +++++++---- .../src/main/java/org/example/User.java | 62 +++++++++++++------ 6 files changed, 73 insertions(+), 43 deletions(-) create mode 100644 Answers/_40230112134/Rent.txt diff --git a/Answers/_40230112134/Book.txt b/Answers/_40230112134/Book.txt index 3ba3104..c1f9fc6 100644 --- a/Answers/_40230112134/Book.txt +++ b/Answers/_40230112134/Book.txt @@ -1,7 +1,8 @@ 1/a/a/a/true 2/s/s/s/true 3/d/d/d/true -4/f/f/f/true -5/g/g/g/true +5/f/f/f/true +6/g/g/g/true 7/hj/jkk/jk/true -8/123456/444449685132/qwertyuio/true +8/979765/64894/56/true +49/888/88/88/true diff --git a/Answers/_40230112134/Rent.txt b/Answers/_40230112134/Rent.txt new file mode 100644 index 0000000..e69de29 diff --git a/Answers/_40230112134/src/main/java/org/example/Book.java b/Answers/_40230112134/src/main/java/org/example/Book.java index 0756f3a..7763b62 100644 --- a/Answers/_40230112134/src/main/java/org/example/Book.java +++ b/Answers/_40230112134/src/main/java/org/example/Book.java @@ -5,7 +5,7 @@ public class Book extends UniqueID { private String ID ; private String Title , Author , Description; - ArrayList Total = new ArrayList<>(); + private ArrayList Total = new ArrayList<>(); private boolean AvailabilityStatus; public Book() @@ -16,7 +16,8 @@ public Book() this.AvailabilityStatus = true; this.ID = getUniqueID(); } - + public ArrayList getTotal() { return Total;} + public void setTotal(ArrayList total) { Total = total;} public String getID() {return ID;} public boolean getAvailabilityStatus(){return AvailabilityStatus;} public void setAvailabilityStatus(boolean availabilityStatus) {AvailabilityStatus = availabilityStatus;} diff --git a/Answers/_40230112134/src/main/java/org/example/Library.java b/Answers/_40230112134/src/main/java/org/example/Library.java index 8658554..ad61f3c 100644 --- a/Answers/_40230112134/src/main/java/org/example/Library.java +++ b/Answers/_40230112134/src/main/java/org/example/Library.java @@ -61,11 +61,4 @@ public void CLIComment() } } } - - public static void main(String[] args) { - User user = new User(); -// user.AddBook(); -// user.Delete("6"); - user.SearchBook("a"); - } } diff --git a/Answers/_40230112134/src/main/java/org/example/Rent.java b/Answers/_40230112134/src/main/java/org/example/Rent.java index da5e8d8..4920f17 100644 --- a/Answers/_40230112134/src/main/java/org/example/Rent.java +++ b/Answers/_40230112134/src/main/java/org/example/Rent.java @@ -9,29 +9,40 @@ public class Rent extends UniqueID{ User user; LocalDateTime currentDateTime = LocalDateTime.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); - private final String RentalDate = currentDateTime.format(formatter); - private final String RentID = getUniqueID(); + private final String RentalDate; + private final String RentID ; public String getRentID() { return RentID; } public String getRentalDate() { return RentalDate; } - public void Rent(String number , String filepath) + public Rent(){ + book = new Book(); + user = new User(); + RentalDate = currentDateTime.format(formatter); + RentID = getUniqueID(); + } + public void Rent(String number) { - user.ReadFileBook(filepath); - for (int i = 0; i < book.Total.size(); i++) + user.ReadFileBook("Book.txt"); + String temp = ""; + for (int i = 0; i < book.getTotal().size(); i++) { - String line1 = book.Total.get(i); - String[] list = line1.split("/"); + String[] list = book.getTotal().get(i).split("/"); if (Objects.equals(list[0], number)) { - System.out.println("please read"); - book.Total.remove(i); - String temp = list[0] + "/" + list[1] + "/" + list[2] + "/" + list[3] + "/" + "false" ; - book.Total.add(temp); + System.out.println("The book has been successfully rented."); + System.out.println("enjoy , Bye."); + book.getTotal().remove(i); + book.setTotal(book.getTotal()); + temp = list[0] + "/" + list[1] + "/" + list[2] + "/" + list[3] + "/" + RentalDate ; + break; } else { System.out.println("The book is rented."); } } - user.WriteFileBook(filepath); + user.WriteFileBook("Book.txt"); + user.ReadFileBook("Rent.txt"); + book.getTotal().add(temp); + user.WriteFileBook("Rent.txt"); } } diff --git a/Answers/_40230112134/src/main/java/org/example/User.java b/Answers/_40230112134/src/main/java/org/example/User.java index 6726b46..609da6d 100644 --- a/Answers/_40230112134/src/main/java/org/example/User.java +++ b/Answers/_40230112134/src/main/java/org/example/User.java @@ -41,7 +41,7 @@ public void WriteFileBook(String filepath) try { FileWriter writer = new FileWriter(filepath); BufferedWriter bufferedWriter = new BufferedWriter(writer); - for (String temp : book.Total) + for (String temp : book.getTotal()) { bufferedWriter.write(temp); bufferedWriter.newLine(); @@ -50,21 +50,23 @@ public void WriteFileBook(String filepath) } catch (IOException e){ System.out.println("Wrong"); } + book.getTotal().clear(); } public void ReadFileBook(String filepath) { try { BufferedReader bufferedReader = new BufferedReader(new FileReader(filepath)); String line; - book.Total.clear(); + book.getTotal().clear(); while ((line = bufferedReader.readLine()) != null) { - book.Total.add(line); + book.getTotal().add(line); } bufferedReader.close(); } catch (IOException r){ System.out.println("An error occurred."); } + book.setTotal(book.getTotal()); } public void AddBook() { @@ -77,10 +79,9 @@ public void AddBook() System.out.println("Write a description of the book in one line"); book.setDescription(scanner.nextLine()); book.setAvailabilityStatus(true); - for (int i = 0; i < book.Total.size(); i++) + for (int i = 0; i < book.getTotal().size(); i++) { - String line = book.Total.get(i); - String[] list = line.split("/"); + String[] list = book.getTotal().get(i).split("/"); if (Objects.equals(book.getTitle(), list[1]) || Objects.equals(book.getDescription(), list[3])) { System.out.println("you can not add the book"); @@ -88,30 +89,29 @@ public void AddBook() } else { - setUniqueID(FindBigID(book.Total)); - book.Total.add(getUniqueIDINT() + "/" + book.getTitle() + "/" + book.getAuthor() + "/" + book.getDescription() + "/" + book.getAvailabilityStatus()); - WriteFileBook("Book.txt"); + setUniqueID(FindBigID(book.getTotal())); + book.getTotal().add(getUniqueIDINT() + "/" + book.getTitle() + "/" + book.getAuthor() + "/" + book.getDescription() + "/" + book.getAvailabilityStatus()); System.out.println("The book has been successfully added"); System.out.println("Your Unique ID is : " + getUniqueIDINT()); break; } } - if (book.Total.isEmpty()) { + if (book.getTotal().isEmpty()) { setUniqueID(1); - book.Total.add(getUniqueIDINT() + "/" + book.getTitle() + "/" + book.getAuthor() + "/" + book.getDescription() + "/" + book.getAvailabilityStatus()); - WriteFileBook("Book.txt"); + book.getTotal().add(getUniqueIDINT() + "/" + book.getTitle() + "/" + book.getAuthor() + "/" + book.getDescription() + "/" + book.getAvailabilityStatus()); System.out.println("The book has been successfully added"); System.out.println("Your Unique ID is : " + getUniqueIDINT()); } + WriteFileBook("Book.txt"); } public void SearchBook(String sentence) { boolean flag = false; ReadFileBook("Book.txt"); char[] word = sentence.toCharArray(); - for (int i = 0; i < book.Total.size(); i++) + for (int i = 0; i < book.getTotal().size(); i++) { - char[] jomle = book.Total.get(i).toCharArray(); + char[] jomle = book.getTotal().get(i).toCharArray(); for (int j = 0; j < jomle.length; j++) { for (int k = 0; k < word.length; k++) @@ -122,9 +122,10 @@ public void SearchBook(String sentence) } } } - if (flag == true) + if (flag) { - String[] list = book.Total.get(i).split("/"); + flag = false; + String[] list = book.getTotal().get(i).split("/"); System.out.println("Your ID book: " + list[0]); System.out.println("Your Title: " + list[1]); System.out.println("Your Author: " + list[2]); @@ -137,16 +138,19 @@ public void SearchBook(String sentence) public void Delete(String number) { ReadFileBook("Book.txt"); - for (int i = 0; i < book.Total.size(); i++) + for (int i = 0; i < book.getTotal().size(); i++) { - String line1 = book.Total.get(i); + String line1 = book.getTotal().get(i); String[] list = line1.split("/"); if (Objects.equals(list[0], number)) { System.out.println("The deletion was successful"); - book.Total.remove(i); + book.getTotal().remove(i); + Rewind(i); + break; } } + book.setTotal(book.getTotal()); WriteFileBook("Book.txt"); } public int FindBigID(ArrayList total) @@ -176,6 +180,26 @@ public int FindBigID(ArrayList total) } return bigerid; } + public void Rewind(int num) + { + ArrayList test = new ArrayList<>(); + for (int i = num; i < book.getTotal().size() ; i++) + { + String[] list = book.getTotal().get(i).split("/"); + int number = Integer.parseInt(list[0]) -1; + list[0] = Integer.toString(number); + String temp = list[0] + "/" + list[1] + "/" + list[2] + "/" + list[3] + "/" + list[4]; + test.add(temp); + } + for (int i = 0; i < book.getTotal().size(); i++) + { + book.getTotal().remove(num); + } + for (String s : test) + { + book.getTotal().add(s); + } + } } class NormalUser extends User { From ddfe692d5094312c26a502feb92828066d34d9a5 Mon Sep 17 00:00:00 2001 From: "Amir.Homa" Date: Fri, 10 May 2024 16:05:48 +0330 Subject: [PATCH 15/24] add read user file --- Answers/_40230112134/Book.txt | 4 ++++ .../src/main/java/org/example/Library.java | 22 +++++++++++++++++++ .../src/main/java/org/example/Rent.java | 4 ++-- .../src/main/java/org/example/User.java | 12 ++++++---- 4 files changed, 36 insertions(+), 6 deletions(-) diff --git a/Answers/_40230112134/Book.txt b/Answers/_40230112134/Book.txt index c1f9fc6..31f2627 100644 --- a/Answers/_40230112134/Book.txt +++ b/Answers/_40230112134/Book.txt @@ -6,3 +6,7 @@ 7/hj/jkk/jk/true 8/979765/64894/56/true 49/888/88/88/true + + + +ID/name/phone number / admin hast ya na diff --git a/Answers/_40230112134/src/main/java/org/example/Library.java b/Answers/_40230112134/src/main/java/org/example/Library.java index ad61f3c..207a892 100644 --- a/Answers/_40230112134/src/main/java/org/example/Library.java +++ b/Answers/_40230112134/src/main/java/org/example/Library.java @@ -1,12 +1,18 @@ package org.example; +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.IOException; +import java.io.StringReader; import java.util.*; public class Library { + User user; private final String LibraryName; private final String OperatingHours; private final String Capacity; public Library(){ + user = new User(); this.LibraryName = "HOMA"; this.OperatingHours = "9 a.m. - 9 p.m."; this.Capacity = "Infinity"; @@ -14,6 +20,22 @@ public Library(){ public String getCapacity() { return Capacity; } public String getOperatingHours() { return OperatingHours; } public String getLibraryName() { return LibraryName; } + public void ReadFileUser() + { + try { + BufferedReader bufferedReader = new BufferedReader(new FileReader("User.txt")); + String line; + user.getPeople().clear(); + while ((line = bufferedReader.readLine()) != null) + { + user.getPeople().add(line); + } + bufferedReader.close(); + } catch (IOException r){ + System.out.println("An error occurred."); + } + user.setPeople(user.getPeople()); + } public void CLIComment() { boolean flag = true; diff --git a/Answers/_40230112134/src/main/java/org/example/Rent.java b/Answers/_40230112134/src/main/java/org/example/Rent.java index 4920f17..b3125f2 100644 --- a/Answers/_40230112134/src/main/java/org/example/Rent.java +++ b/Answers/_40230112134/src/main/java/org/example/Rent.java @@ -1,8 +1,8 @@ package org.example; -import java.time.LocalDateTime; +import java.time.*; import java.time.format.DateTimeFormatter; -import java.util.Objects; +import java.util.*; public class Rent extends UniqueID{ Book book; diff --git a/Answers/_40230112134/src/main/java/org/example/User.java b/Answers/_40230112134/src/main/java/org/example/User.java index 609da6d..efbe474 100644 --- a/Answers/_40230112134/src/main/java/org/example/User.java +++ b/Answers/_40230112134/src/main/java/org/example/User.java @@ -6,16 +6,20 @@ import java.util.*; public class User extends UniqueID { - Book book = new Book(); + Book book; private String Name; private String IDUser ; private String PhoneNumber; + private ArrayList people = new ArrayList<>(); public User(String name , String phoneNumber ) { + book = new Book(); this.Name = name; this.PhoneNumber = phoneNumber; this.IDUser = getUniqueID(); } + public ArrayList getPeople() { return people; } + public void setPeople(ArrayList people) { this.people = people; } public User() {} public String getPhoneNumber() { return PhoneNumber; @@ -205,12 +209,12 @@ class NormalUser extends User { LocalDateTime currentDateTime = LocalDateTime.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); - private String formattedDateTime = currentDateTime.format(formatter); + private String UserDate; public NormalUser(String name, String phoneNumber) { super(name, phoneNumber); + UserDate = currentDateTime.format(formatter); } - public NormalUser() { super(); } - public String getFormattedDateTime() { return formattedDateTime; } + public String getFormattedDateTime() { return UserDate; } } class Admin extends User { private final String Password; From 13ba1d3b07c709688a7ad3d70356aac2576e7729 Mon Sep 17 00:00:00 2001 From: "Amir.Homa" Date: Fri, 10 May 2024 16:08:30 +0330 Subject: [PATCH 16/24] add write user file --- .../src/main/java/org/example/Library.java | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/Answers/_40230112134/src/main/java/org/example/Library.java b/Answers/_40230112134/src/main/java/org/example/Library.java index 207a892..39c70a8 100644 --- a/Answers/_40230112134/src/main/java/org/example/Library.java +++ b/Answers/_40230112134/src/main/java/org/example/Library.java @@ -1,9 +1,6 @@ package org.example; -import java.io.BufferedReader; -import java.io.FileReader; -import java.io.IOException; -import java.io.StringReader; +import java.io.*; import java.util.*; public class Library { @@ -20,10 +17,9 @@ public Library(){ public String getCapacity() { return Capacity; } public String getOperatingHours() { return OperatingHours; } public String getLibraryName() { return LibraryName; } - public void ReadFileUser() - { + public void ReadFileUser(String filepath) { try { - BufferedReader bufferedReader = new BufferedReader(new FileReader("User.txt")); + BufferedReader bufferedReader = new BufferedReader(new FileReader(filepath)); String line; user.getPeople().clear(); while ((line = bufferedReader.readLine()) != null) @@ -36,6 +32,21 @@ public void ReadFileUser() } user.setPeople(user.getPeople()); } + public void WriteFileUser(String filepath) { + try { + FileWriter writer = new FileWriter(filepath); + BufferedWriter bufferedWriter = new BufferedWriter(writer); + for (String temp : user.getPeople()) + { + bufferedWriter.write(temp); + bufferedWriter.newLine(); + } + bufferedWriter.close(); + } catch (IOException e){ + System.out.println("Wrong"); + } + user.getPeople().clear(); + } public void CLIComment() { boolean flag = true; From f4c85a310bbfc4a220f8f00aa7dad37d9e3dea3d Mon Sep 17 00:00:00 2001 From: "Amir.Homa" Date: Fri, 10 May 2024 17:36:41 +0330 Subject: [PATCH 17/24] add 1 method (adduser) --- Answers/_40230112134/Admin.txt | 0 Answers/_40230112134/Book.txt | 2 +- Answers/_40230112134/NormalUser.txt | 0 .../src/main/java/org/example/Library.java | 73 +++++++++++++++++-- .../src/main/java/org/example/User.java | 8 +- 5 files changed, 75 insertions(+), 8 deletions(-) create mode 100644 Answers/_40230112134/Admin.txt create mode 100644 Answers/_40230112134/NormalUser.txt diff --git a/Answers/_40230112134/Admin.txt b/Answers/_40230112134/Admin.txt new file mode 100644 index 0000000..e69de29 diff --git a/Answers/_40230112134/Book.txt b/Answers/_40230112134/Book.txt index 31f2627..2fe4245 100644 --- a/Answers/_40230112134/Book.txt +++ b/Answers/_40230112134/Book.txt @@ -9,4 +9,4 @@ -ID/name/phone number / admin hast ya na +ID/name/phone number diff --git a/Answers/_40230112134/NormalUser.txt b/Answers/_40230112134/NormalUser.txt new file mode 100644 index 0000000..e69de29 diff --git a/Answers/_40230112134/src/main/java/org/example/Library.java b/Answers/_40230112134/src/main/java/org/example/Library.java index 39c70a8..4bcc2d7 100644 --- a/Answers/_40230112134/src/main/java/org/example/Library.java +++ b/Answers/_40230112134/src/main/java/org/example/Library.java @@ -4,20 +4,25 @@ import java.util.*; public class Library { + NormalUser normalUser = new NormalUser(); + Admin admin = new Admin(); User user; private final String LibraryName; private final String OperatingHours; - private final String Capacity; + private final int Capacity; + private final boolean BookRepository; public Library(){ user = new User(); this.LibraryName = "HOMA"; this.OperatingHours = "9 a.m. - 9 p.m."; - this.Capacity = "Infinity"; + this.Capacity = 25; + this.BookRepository = ChapFileBook(); } - public String getCapacity() { return Capacity; } + public boolean getBookRepository() { return BookRepository; } + public int getCapacity() { return Capacity; } public String getOperatingHours() { return OperatingHours; } public String getLibraryName() { return LibraryName; } - public void ReadFileUser(String filepath) { + public void ReadFileNormalUser(String filepath) { try { BufferedReader bufferedReader = new BufferedReader(new FileReader(filepath)); String line; @@ -32,7 +37,7 @@ public void ReadFileUser(String filepath) { } user.setPeople(user.getPeople()); } - public void WriteFileUser(String filepath) { + public void WriteFileNormalUser(String filepath) { try { FileWriter writer = new FileWriter(filepath); BufferedWriter bufferedWriter = new BufferedWriter(writer); @@ -47,6 +52,64 @@ public void WriteFileUser(String filepath) { } user.getPeople().clear(); } + public void AddNormalUser() { + ReadFileNormalUser("NormalUser.txt"); + System.out.println("Enter the your name"); + Scanner scanner = new Scanner(System.in); + normalUser.setName(scanner.nextLine()); + boolean flag = true; + while (flag) + { + System.out.println("Enter your phone number"); + String temp = scanner.nextLine(); + char[] tem = temp.toCharArray(); + for (char c : tem) + { + if (c < 48 || c > 57) + { + System.out.println("You entered incorrectly\n" + "try again:"); + break; + } + else + { + flag = false; + normalUser.setPhoneNumber(temp); + } + } + } + for (int i = 0; i < normalUser.getPeople().size(); i++) + { + String[] list = normalUser.getPeople().get(i).split("/"); + if (Objects.equals(normalUser.getName(), list[1]) || Objects.equals(normalUser.getPhoneNumber(), list[2])) + { + System.out.println("you can not add the user"); + System.out.println("because we have that"); + } + else + { + normalUser.setUniqueID(normalUser.FindBigID(normalUser.getPeople())); + normalUser.getPeople().add((normalUser.getIDUser()) + "/" + normalUser.getName() + "/" + normalUser.getPhoneNumber() + normalUser.getFormattedDateTime()); + System.out.println("The user has been successfully added"); + System.out.println("Your Unique ID is : " + normalUser.getIDUser()); + break; + } + } + if (normalUser.getPeople().isEmpty()) { + normalUser.setUniqueID(1); + normalUser.getPeople().add((normalUser.getIDUser()) + "/" + normalUser.getName() + "/" + normalUser.getPhoneNumber() + normalUser.getFormattedDateTime()); + System.out.println("The user has been successfully added"); + System.out.println("Your Unique ID is : " + normalUser.getIDUser()); + } + WriteFileNormalUser("NormalUser.txt"); + } + public void DeleteNormalUser() { + + } + private boolean ChapFileBook() { + boolean flag = false; + + return flag; + } public void CLIComment() { boolean flag = true; diff --git a/Answers/_40230112134/src/main/java/org/example/User.java b/Answers/_40230112134/src/main/java/org/example/User.java index efbe474..efcff4f 100644 --- a/Answers/_40230112134/src/main/java/org/example/User.java +++ b/Answers/_40230112134/src/main/java/org/example/User.java @@ -8,7 +8,7 @@ public class User extends UniqueID { Book book; private String Name; - private String IDUser ; + private String IDUser; private String PhoneNumber; private ArrayList people = new ArrayList<>(); public User(String name , String phoneNumber ) @@ -214,14 +214,18 @@ public NormalUser(String name, String phoneNumber) { super(name, phoneNumber); UserDate = currentDateTime.format(formatter); } + public NormalUser() { + } public String getFormattedDateTime() { return UserDate; } } class Admin extends User { - private final String Password; + private String Password; public Admin(String name, String phonenumber) { super(name, phonenumber); this.Password = "8488"; } + public Admin() { + } public String getPassword() {return Password;} } \ No newline at end of file From adeb78e14e39054b2e81c8d4482b53ca5171d833 Mon Sep 17 00:00:00 2001 From: "Amir.Homa" Date: Fri, 10 May 2024 17:51:28 +0330 Subject: [PATCH 18/24] Add a method to display the entire user --- Answers/_40230112134/Book.txt | 2 +- .../src/main/java/org/example/Library.java | 24 ++++++++++++++++--- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/Answers/_40230112134/Book.txt b/Answers/_40230112134/Book.txt index 2fe4245..f1034ee 100644 --- a/Answers/_40230112134/Book.txt +++ b/Answers/_40230112134/Book.txt @@ -9,4 +9,4 @@ -ID/name/phone number +ID/name/phone number/632 diff --git a/Answers/_40230112134/src/main/java/org/example/Library.java b/Answers/_40230112134/src/main/java/org/example/Library.java index 4bcc2d7..9d818ee 100644 --- a/Answers/_40230112134/src/main/java/org/example/Library.java +++ b/Answers/_40230112134/src/main/java/org/example/Library.java @@ -102,12 +102,30 @@ public void AddNormalUser() { } WriteFileNormalUser("NormalUser.txt"); } - public void DeleteNormalUser() { - + public void DeleteNormalUser(String number) { + ReadFileNormalUser("NormalUser.txt"); + for (int i = 0; i < normalUser.getPeople().size(); i++) + { + String line1 = normalUser.getPeople().get(i); + String[] list = line1.split("/"); + if (Objects.equals(list[0], number)) + { + System.out.println("The deletion was successful"); + normalUser.getPeople().remove(i); + break; + } + } + normalUser.setPeople(normalUser.getPeople()); } private boolean ChapFileBook() { boolean flag = false; - + ReadFileNormalUser("NormalUser.txt"); + for (int i = 0; i < normalUser.getPeople().size(); i++) + { + String[] list = normalUser.getPeople().get(i).split("/"); + System.out.println("Name: " + list[1] + "Phone number: " + list[2] + "Time to enter the library: " + list[3]); + flag = true; + } return flag; } public void CLIComment() From e91e5e5771bff2b4d385ee85fe9c06ea521e4ffd Mon Sep 17 00:00:00 2001 From: "Amir.Homa" Date: Fri, 10 May 2024 18:20:26 +0330 Subject: [PATCH 19/24] Add a method to display the entire Books --- .../src/main/java/org/example/Library.java | 97 ++++++++++++++----- 1 file changed, 73 insertions(+), 24 deletions(-) diff --git a/Answers/_40230112134/src/main/java/org/example/Library.java b/Answers/_40230112134/src/main/java/org/example/Library.java index 9d818ee..4dec8fb 100644 --- a/Answers/_40230112134/src/main/java/org/example/Library.java +++ b/Answers/_40230112134/src/main/java/org/example/Library.java @@ -117,60 +117,109 @@ public void DeleteNormalUser(String number) { } normalUser.setPeople(normalUser.getPeople()); } - private boolean ChapFileBook() { - boolean flag = false; + public void ChapFileUser() { ReadFileNormalUser("NormalUser.txt"); for (int i = 0; i < normalUser.getPeople().size(); i++) { String[] list = normalUser.getPeople().get(i).split("/"); System.out.println("Name: " + list[1] + "Phone number: " + list[2] + "Time to enter the library: " + list[3]); + } + } + public boolean ChapFileBook() { + boolean flag = false; + ReadFileNormalUser("Book.txt"); + for (int i = 0; i < normalUser.getPeople().size(); i++) + { + String[] list = normalUser.getPeople().get(i).split("/"); + System.out.println("Name: " + list[1] + "Author: " + list[2] + "AvailabilityStatus: " + list[4]); flag = true; } return flag; } - public void CLIComment() - { + +// public void HomePage() { +// System.out.println("Enter your way"); +// System.out.println("1. User"); +// System.out.println("2. Admin"); +// Scanner scanner = new Scanner(System.in); +// int comment = scanner.nextInt(); +// boolean flag = true; +// while (flag) +// { +// switch (comment) +// { +// case 1: +// +// break; +// case 2: +// +// break; +// default: +// System.out.println("try again"); +// break; +// } +// } +// +// } + public void CLIComment() { boolean flag = true; while (flag) { - System.out.println("lib add book"); - System.out.println("lib get hrs"); - System.out.println("lib rent book"); - System.out.println("lib add member"); - System.out.println("lib rent"); - System.out.println("lib get available books"); - System.out.println("lib remove member"); - System.out.println("lib return book"); + System.out.println("1.lib add book"); + System.out.println("2.lib get hrs"); + System.out.println("3.lib rent book"); + System.out.println("4.lib get available books"); + System.out.println("5.lib return book"); + System.out.println("6.lib get available members"); + System.out.println("7.lib remove member"); + System.out.println("8.lib add member"); + System.out.println("9.exit"); System.out.println("Enter your comment :"); Scanner scanner = new Scanner(System.in); - String comment = scanner.nextLine(); - switch (comment) { - case "lib add book": + int comment = scanner.nextInt(); + switch (comment) + { + case 1: CLIComment(); break; - case "lib get hrs": + case 2: + CLIComment(); break; - case "lib rent book": + case 3: + CLIComment(); break; - case "lib add member": - + case 4: + boolean bb = getBookRepository(); + if (!bb) + { + System.out.println("we do not have book"); + } + CLIComment(); break; - case "lib get available books": + case 5: + CLIComment(); break; - case "lib remove member": + case 6: + ChapFileUser(); + CLIComment(); + break; + case 7: + CLIComment(); break; - case "lib return book": + case 8: + CLIComment(); break; - case "exit": + case 9: + System.out.println("Bye Bye"); flag = false; break; default: - System.out.println("please enter again"); + System.out.println("Try again"); break; } } From 4006b3e1b40e2e644a6f2646728cc7d4e87800e4 Mon Sep 17 00:00:00 2001 From: "Amir.Homa" Date: Fri, 10 May 2024 18:59:41 +0330 Subject: [PATCH 20/24] Some changes in cli method --- Answers/_40230112134/Book.txt | 1 + .../src/main/java/org/example/Library.java | 71 +++++++++++++++---- .../src/main/java/org/example/MyApp.java | 12 +--- .../src/main/java/org/example/User.java | 5 +- 4 files changed, 63 insertions(+), 26 deletions(-) diff --git a/Answers/_40230112134/Book.txt b/Answers/_40230112134/Book.txt index f1034ee..8861dec 100644 --- a/Answers/_40230112134/Book.txt +++ b/Answers/_40230112134/Book.txt @@ -10,3 +10,4 @@ ID/name/phone number/632 +226/aaa/aaaa/aaaa/true diff --git a/Answers/_40230112134/src/main/java/org/example/Library.java b/Answers/_40230112134/src/main/java/org/example/Library.java index 4dec8fb..056bc4e 100644 --- a/Answers/_40230112134/src/main/java/org/example/Library.java +++ b/Answers/_40230112134/src/main/java/org/example/Library.java @@ -6,20 +6,22 @@ public class Library { NormalUser normalUser = new NormalUser(); Admin admin = new Admin(); - User user; + User user = new User(); private final String LibraryName; private final String OperatingHours; - private final int Capacity; + private final int CapacityBook; + private final int CapacityUser; private final boolean BookRepository; public Library(){ - user = new User(); this.LibraryName = "HOMA"; this.OperatingHours = "9 a.m. - 9 p.m."; - this.Capacity = 25; + this.CapacityBook = 50; + this.CapacityUser = 25; this.BookRepository = ChapFileBook(); } + public int getCapacityUser() { return CapacityUser; } public boolean getBookRepository() { return BookRepository; } - public int getCapacity() { return Capacity; } + public int getCapacityBook() { return CapacityBook; } public String getOperatingHours() { return OperatingHours; } public String getLibraryName() { return LibraryName; } public void ReadFileNormalUser(String filepath) { @@ -122,7 +124,7 @@ public void ChapFileUser() { for (int i = 0; i < normalUser.getPeople().size(); i++) { String[] list = normalUser.getPeople().get(i).split("/"); - System.out.println("Name: " + list[1] + "Phone number: " + list[2] + "Time to enter the library: " + list[3]); + System.out.println("ID: " + list[0] + "Name: " + list[1] + "Phone number: " + list[2] + "Time to enter the library: " + list[3]); } } public boolean ChapFileBook() { @@ -131,7 +133,7 @@ public boolean ChapFileBook() { for (int i = 0; i < normalUser.getPeople().size(); i++) { String[] list = normalUser.getPeople().get(i).split("/"); - System.out.println("Name: " + list[1] + "Author: " + list[2] + "AvailabilityStatus: " + list[4]); + System.out.println("ID: " + list[0] + "Name: " + list[1] + "Author: " + list[2] + "AvailabilityStatus: " + list[4]); flag = true; } return flag; @@ -164,6 +166,7 @@ public boolean ChapFileBook() { public void CLIComment() { boolean flag = true; while (flag) { + System.out.println(getLibraryName() + "How can I help you???!!!"); System.out.println("1.lib add book"); System.out.println("2.lib get hrs"); System.out.println("3.lib rent book"); @@ -173,21 +176,35 @@ public void CLIComment() { System.out.println("7.lib remove member"); System.out.println("8.lib add member"); System.out.println("9.exit"); - System.out.println("Enter your comment :"); + System.out.println("Enter your comment:"); Scanner scanner = new Scanner(System.in); int comment = scanner.nextInt(); + int BookCapacity = 0 , UserCapacity = 0; switch (comment) { case 1: - + if (BookCapacity <= getCapacityBook()) + { + BookCapacity++; + user.AddBook(); + } + else + { + System.out.println("Sorry, we don't have room for books."); + System.out.println("Try something else."); + } CLIComment(); break; case 2: - + System.out.println(getOperatingHours()); CLIComment(); break; case 3: - + Rent rent = new Rent(); + ChapFileBook(); + System.out.println("Enter your ID you want to rent: "); + String testId = scanner.nextLine(); + rent.Rent(testId); CLIComment(); break; case 4: @@ -207,11 +224,39 @@ public void CLIComment() { CLIComment(); break; case 7: - + String temp1 = scanner.nextLine(); + if (Objects.equals(temp1, admin.getPassword())) + { + ChapFileUser(); + System.out.println("Enter your ID you want delete : "); + String testid = scanner.nextLine(); + DeleteNormalUser(testid); + } + else + { + System.out.println("Sorry,Try something else."); + } CLIComment(); break; case 8: - + if (UserCapacity < getCapacityUser()) + { + UserCapacity++; + String temp = scanner.nextLine(); + if (Objects.equals(temp, admin.getPassword())) + { + AddNormalUser(); + } + else + { + System.out.println("Sorry,Try something else."); + } + } + else + { + System.out.println("Sorry, we don't have room for User"); + System.out.println("Try something else."); + } CLIComment(); break; case 9: diff --git a/Answers/_40230112134/src/main/java/org/example/MyApp.java b/Answers/_40230112134/src/main/java/org/example/MyApp.java index 631316b..5314180 100644 --- a/Answers/_40230112134/src/main/java/org/example/MyApp.java +++ b/Answers/_40230112134/src/main/java/org/example/MyApp.java @@ -2,15 +2,7 @@ public class MyApp extends UniqueID{ public static void main(String[] args) { -// Book book = new Book(); -// book.AddBook(); -// book.AddBook(); -// book.AddBook(); -// book.Rent("59"); -// book.Rent("91"); -// book.Delete("96"); -// book.SearchBook("amir"); -// book.SearchBook("e"); -// book.SearchBook("a"); + Library library = new Library(); + library.CLIComment(); } } \ No newline at end of file diff --git a/Answers/_40230112134/src/main/java/org/example/User.java b/Answers/_40230112134/src/main/java/org/example/User.java index efcff4f..5e4e0c6 100644 --- a/Answers/_40230112134/src/main/java/org/example/User.java +++ b/Answers/_40230112134/src/main/java/org/example/User.java @@ -6,14 +6,13 @@ import java.util.*; public class User extends UniqueID { - Book book; + Book book = new Book(); private String Name; private String IDUser; private String PhoneNumber; private ArrayList people = new ArrayList<>(); public User(String name , String phoneNumber ) { - book = new Book(); this.Name = name; this.PhoneNumber = phoneNumber; this.IDUser = getUniqueID(); @@ -39,7 +38,6 @@ public String getName() { public void setName(String name) { Name = name; } - public void WriteFileBook(String filepath) { try { @@ -204,6 +202,7 @@ public void Rewind(int num) book.getTotal().add(s); } } + } class NormalUser extends User { From cd6b8c986fceb27587f3f8870e1c938f89150374 Mon Sep 17 00:00:00 2001 From: "Amir.Homa" Date: Thu, 16 May 2024 17:50:42 +0330 Subject: [PATCH 21/24] some changes in CLi coment --- Answers/_40230112134/Book.txt | 9 +- .../src/main/java/org/example/Book.java | 19 +- .../src/main/java/org/example/Library.java | 220 ++++++++++-------- .../src/main/java/org/example/Rent.java | 30 +-- .../src/main/java/org/example/UniqueID.java | 10 +- .../src/main/java/org/example/User.java | 36 ++- 6 files changed, 164 insertions(+), 160 deletions(-) diff --git a/Answers/_40230112134/Book.txt b/Answers/_40230112134/Book.txt index 8861dec..a2c5feb 100644 --- a/Answers/_40230112134/Book.txt +++ b/Answers/_40230112134/Book.txt @@ -6,8 +6,7 @@ 7/hj/jkk/jk/true 8/979765/64894/56/true 49/888/88/88/true - - - -ID/name/phone number/632 -226/aaa/aaaa/aaaa/true +956/asds/asdas/asds/true +104/sDA/ASDAS/add/true +288/4653/98465/8945632/true +940/lllllllllllll/lllllllllllll/lllllllllllll/true diff --git a/Answers/_40230112134/src/main/java/org/example/Book.java b/Answers/_40230112134/src/main/java/org/example/Book.java index 7763b62..1b938ee 100644 --- a/Answers/_40230112134/src/main/java/org/example/Book.java +++ b/Answers/_40230112134/src/main/java/org/example/Book.java @@ -3,24 +3,21 @@ import java.util.*; public class Book extends UniqueID { - private String ID ; + private String IDBook ; private String Title , Author , Description; private ArrayList Total = new ArrayList<>(); private boolean AvailabilityStatus; - public Book() { - this.Title = getTitle(); - this.Description = getDescription(); - this.Author = getAuthor(); this.AvailabilityStatus = true; - this.ID = getUniqueID(); + this.IDBook = getUniqueIDString(); } - public ArrayList getTotal() { return Total;} - public void setTotal(ArrayList total) { Total = total;} - public String getID() {return ID;} - public boolean getAvailabilityStatus(){return AvailabilityStatus;} - public void setAvailabilityStatus(boolean availabilityStatus) {AvailabilityStatus = availabilityStatus;} + public ArrayList getTotal() { return Total; } + public void setTotal(ArrayList total) { Total = total; } + public String getIDBook() { return IDBook; } + public void setIDBook(String IDBook) { this.IDBook = IDBook; } + public boolean getAvailabilityStatus(){ return AvailabilityStatus; } + public void setAvailabilityStatus(boolean availabilityStatus) { AvailabilityStatus = availabilityStatus; } public void setAuthor(String author) { Author = author; } public String getAuthor() { return Author; } public String getDescription() { return Description; } diff --git a/Answers/_40230112134/src/main/java/org/example/Library.java b/Answers/_40230112134/src/main/java/org/example/Library.java index 056bc4e..217b79c 100644 --- a/Answers/_40230112134/src/main/java/org/example/Library.java +++ b/Answers/_40230112134/src/main/java/org/example/Library.java @@ -7,13 +7,14 @@ public class Library { NormalUser normalUser = new NormalUser(); Admin admin = new Admin(); User user = new User(); + int BookCapacity = 0 , UserCapacity = 0; private final String LibraryName; private final String OperatingHours; private final int CapacityBook; private final int CapacityUser; private final boolean BookRepository; public Library(){ - this.LibraryName = "HOMA"; + this.LibraryName = "(-_-)(HOMA)(-_-)"; this.OperatingHours = "9 a.m. - 9 p.m."; this.CapacityBook = 50; this.CapacityUser = 25; @@ -164,109 +165,134 @@ public boolean ChapFileBook() { // // } public void CLIComment() { - boolean flag = true; - while (flag) { - System.out.println(getLibraryName() + "How can I help you???!!!"); - System.out.println("1.lib add book"); - System.out.println("2.lib get hrs"); - System.out.println("3.lib rent book"); + while (true) { + System.out.println(getLibraryName() + " How can I help you???!!!"); + System.out.println("lib add book "); + System.out.println("lib get hrs"); + System.out.println("lib rent "); System.out.println("4.lib get available books"); System.out.println("5.lib return book"); System.out.println("6.lib get available members"); System.out.println("7.lib remove member"); System.out.println("8.lib add member"); - System.out.println("9.exit"); + System.out.println("lib exit"); System.out.println("Enter your comment:"); Scanner scanner = new Scanner(System.in); - int comment = scanner.nextInt(); - int BookCapacity = 0 , UserCapacity = 0; - switch (comment) - { - case 1: - if (BookCapacity <= getCapacityBook()) - { - BookCapacity++; - user.AddBook(); - } - else - { - System.out.println("Sorry, we don't have room for books."); - System.out.println("Try something else."); - } - CLIComment(); - break; - case 2: - System.out.println(getOperatingHours()); - CLIComment(); - break; - case 3: - Rent rent = new Rent(); - ChapFileBook(); - System.out.println("Enter your ID you want to rent: "); - String testId = scanner.nextLine(); - rent.Rent(testId); - CLIComment(); - break; - case 4: - boolean bb = getBookRepository(); - if (!bb) - { - System.out.println("we do not have book"); - } - CLIComment(); - break; - case 5: - - CLIComment(); - break; - case 6: - ChapFileUser(); - CLIComment(); - break; - case 7: - String temp1 = scanner.nextLine(); - if (Objects.equals(temp1, admin.getPassword())) - { - ChapFileUser(); - System.out.println("Enter your ID you want delete : "); - String testid = scanner.nextLine(); - DeleteNormalUser(testid); - } - else - { - System.out.println("Sorry,Try something else."); - } - CLIComment(); - break; - case 8: - if (UserCapacity < getCapacityUser()) - { - UserCapacity++; - String temp = scanner.nextLine(); - if (Objects.equals(temp, admin.getPassword())) - { - AddNormalUser(); - } - else - { - System.out.println("Sorry,Try something else."); - } - } - else - { - System.out.println("Sorry, we don't have room for User"); - System.out.println("Try something else."); - } - CLIComment(); - break; - case 9: - System.out.println("Bye Bye"); - flag = false; - break; - default: - System.out.println("Try again"); - break; + String comment = scanner.nextLine(); + String[] list = comment.split(" "); + user.ReadFileBook("Book.txt"); + if (Objects.equals(list[1], "add") && Objects.equals(list[2], "book")) { + if (BookCapacity <= getCapacityBook()) + { + BookCapacity++; + user.AddBook(list[3] , list[4] , list[5]); + } + else + { + System.out.println("Sorry, we don't have room for books."); + System.out.println("Try something else."); + } } + else if (Objects.equals(list[1], "get") && Objects.equals(list[2], "hrs")) { + System.out.println("**************************"); + System.out.println(getOperatingHours()); + System.out.println("**************************"); + } + else if (Objects.equals(list[1], "exit")) { + System.exit(0); + } + else if (Objects.equals(list[1], "rent") && list.length <= 3) { + Rent rent = new Rent(); + rent.RentBook(list[2]); + } + user.WriteFileBook("Book.txt"); +// switch (comment) +// { +// case "lib add book": +// if (BookCapacity <= getCapacityBook()) +// { +// BookCapacity++; +// user.AddBook(); +// } +// else +// { +// System.out.println("Sorry, we don't have room for books."); +// System.out.println("Try something else."); +// } +// CLIComment(); +// break; +// case 2: +// System.out.println(getOperatingHours()); +// CLIComment(); +// break; +// case 3: +// Rent rent = new Rent(); +// ChapFileBook(); +// System.out.println("Enter your ID you want to rent: "); +// String testId = scanner.nextLine(); +// rent.RentBook(testId); +// CLIComment(); +// break; +// case 4: +// boolean bb = getBookRepository(); +// if (!bb) +// { +// System.out.println("we do not have any books"); +// } +// CLIComment(); +// break; +// case 5: +// +// CLIComment(); +// break; +// case 6: +// ChapFileUser(); +// CLIComment(); +// break; +// case 7: +// String temp1 = scanner.nextLine(); +// if (Objects.equals(temp1, admin.getPassword())) +// { +// ChapFileUser(); +// System.out.println("Enter your ID you want delete : "); +// String testid = scanner.nextLine(); +// DeleteNormalUser(testid); +// } +// else +// { +// System.out.println("Sorry,Try something else."); +// } +// CLIComment(); +// break; +// case 8: +// if (UserCapacity < getCapacityUser()) +// { +// UserCapacity++; +// String temp = scanner.nextLine(); +// if (Objects.equals(temp, admin.getPassword())) +// { +// AddNormalUser(); +// } +// else +// { +// System.out.println("Sorry,Try something else."); +// } +// } +// else +// { +// System.out.println("Sorry, we don't have room for User"); +// System.out.println("Try something else."); +// } +// CLIComment(); +// break; +// case 9: +// System.out.println("Bye Bye"); +// System.exit(0); +// break; +// default: +// System.out.println("Try again"); +// break; +// } } } -} +} \ No newline at end of file diff --git a/Answers/_40230112134/src/main/java/org/example/Rent.java b/Answers/_40230112134/src/main/java/org/example/Rent.java index b3125f2..26f8b34 100644 --- a/Answers/_40230112134/src/main/java/org/example/Rent.java +++ b/Answers/_40230112134/src/main/java/org/example/Rent.java @@ -10,39 +10,25 @@ public class Rent extends UniqueID{ LocalDateTime currentDateTime = LocalDateTime.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); private final String RentalDate; - private final String RentID ; - public String getRentID() { return RentID; } public String getRentalDate() { return RentalDate; } public Rent(){ book = new Book(); user = new User(); RentalDate = currentDateTime.format(formatter); - RentID = getUniqueID(); } - public void Rent(String number) - { - user.ReadFileBook("Book.txt"); - String temp = ""; - for (int i = 0; i < book.getTotal().size(); i++) + public void RentBook(String name) { + for (int i = 0; i < user.book.getTotal().size(); i++) { - String[] list = book.getTotal().get(i).split("/"); - if (Objects.equals(list[0], number)) + String[] list = user.book.getTotal().get(i).split("/"); + if (Objects.equals(list[1],name) || Objects.equals(list[4],"true")) { + user.book.getTotal().remove(i); System.out.println("The book has been successfully rented."); System.out.println("enjoy , Bye."); - book.getTotal().remove(i); - book.setTotal(book.getTotal()); - temp = list[0] + "/" + list[1] + "/" + list[2] + "/" + list[3] + "/" + RentalDate ; + String temp = list[0] + "/" + list[1] + "/" + list[2] + "/" + list[3] + "/" + RentalDate ; + user.book.getTotal().add(temp); break; } - else - { - System.out.println("The book is rented."); - } } - user.WriteFileBook("Book.txt"); - user.ReadFileBook("Rent.txt"); - book.getTotal().add(temp); - user.WriteFileBook("Rent.txt"); } -} +} \ No newline at end of file diff --git a/Answers/_40230112134/src/main/java/org/example/UniqueID.java b/Answers/_40230112134/src/main/java/org/example/UniqueID.java index 843c187..986dbae 100644 --- a/Answers/_40230112134/src/main/java/org/example/UniqueID.java +++ b/Answers/_40230112134/src/main/java/org/example/UniqueID.java @@ -1,14 +1,16 @@ package org.example; +import java.util.Random; + public class UniqueID { - private int UniqueID = getUniqueIDINT(); - public String getUniqueID() { + Random random = new Random(); + private int UniqueID = random.nextInt(1000) + 1; + public String getUniqueIDString() { return String.valueOf(this.UniqueID); } - public int getUniqueIDINT() { + public int getUniqueIDInt() { return this.UniqueID; } - public void setUniqueID(int uniqueID) { this.UniqueID = uniqueID + 1; } diff --git a/Answers/_40230112134/src/main/java/org/example/User.java b/Answers/_40230112134/src/main/java/org/example/User.java index 5e4e0c6..cc5e42f 100644 --- a/Answers/_40230112134/src/main/java/org/example/User.java +++ b/Answers/_40230112134/src/main/java/org/example/User.java @@ -15,7 +15,7 @@ public User(String name , String phoneNumber ) { this.Name = name; this.PhoneNumber = phoneNumber; - this.IDUser = getUniqueID(); + this.IDUser = getUniqueIDString(); } public ArrayList getPeople() { return people; } public void setPeople(ArrayList people) { this.people = people; } @@ -52,34 +52,30 @@ public void WriteFileBook(String filepath) } catch (IOException e){ System.out.println("Wrong"); } - book.getTotal().clear(); } public void ReadFileBook(String filepath) { + ArrayList test = new ArrayList<>(); + book.getTotal().clear(); try { BufferedReader bufferedReader = new BufferedReader(new FileReader(filepath)); String line; - book.getTotal().clear(); while ((line = bufferedReader.readLine()) != null) { - book.getTotal().add(line); + test.add(line); } bufferedReader.close(); } catch (IOException r){ System.out.println("An error occurred."); } - book.setTotal(book.getTotal()); + book.setTotal(test); } - public void AddBook() + public void AddBook(String name , String author , String des) { - ReadFileBook("Book.txt"); - System.out.println("Enter the name of the book"); - Scanner scanner = new Scanner(System.in); - book.setTitle(scanner.nextLine()); - System.out.println("Enter the author of the book"); - book.setAuthor(scanner.nextLine()); - System.out.println("Write a description of the book in one line"); - book.setDescription(scanner.nextLine()); + book.setIDBook(String.valueOf(getUniqueIDInt() + 1)); + book.setTitle(name); + book.setAuthor(author); + book.setDescription(des); book.setAvailabilityStatus(true); for (int i = 0; i < book.getTotal().size(); i++) { @@ -91,20 +87,19 @@ public void AddBook() } else { - setUniqueID(FindBigID(book.getTotal())); - book.getTotal().add(getUniqueIDINT() + "/" + book.getTitle() + "/" + book.getAuthor() + "/" + book.getDescription() + "/" + book.getAvailabilityStatus()); +// setUniqueID(FindBigID(book.getTotal())); + book.getTotal().add(book.getIDBook() + "/" + book.getTitle() + "/" + book.getAuthor() + "/" + book.getDescription() + "/" + book.getAvailabilityStatus()); System.out.println("The book has been successfully added"); - System.out.println("Your Unique ID is : " + getUniqueIDINT()); + System.out.println("Your Unique ID is : " + getUniqueIDInt()); break; } } if (book.getTotal().isEmpty()) { setUniqueID(1); - book.getTotal().add(getUniqueIDINT() + "/" + book.getTitle() + "/" + book.getAuthor() + "/" + book.getDescription() + "/" + book.getAvailabilityStatus()); + book.getTotal().add(book.getIDBook() + "/" + book.getTitle() + "/" + book.getAuthor() + "/" + book.getDescription() + "/" + book.getAvailabilityStatus()); System.out.println("The book has been successfully added"); - System.out.println("Your Unique ID is : " + getUniqueIDINT()); + System.out.println("Your Unique ID is : " + book.getIDBook()); } - WriteFileBook("Book.txt"); } public void SearchBook(String sentence) { @@ -202,7 +197,6 @@ public void Rewind(int num) book.getTotal().add(s); } } - } class NormalUser extends User { From 89a92ae7fa7df08a04834722efc69387d95fc7d3 Mon Sep 17 00:00:00 2001 From: "Amir.Homa" Date: Fri, 17 May 2024 13:29:40 +0330 Subject: [PATCH 22/24] add CLI get available books --- Answers/Add Your Projects Here.txt | 0 Answers/_40230112134/Admin.txt | 0 Answers/_40230112134/Book.txt | 2 + Answers/_40230112134/NormalUser.txt | 3 + Answers/_40230112134/Rent.txt | 0 .../src/main/java/org/example/Library.java | 134 ++++++++---------- .../src/main/java/org/example/MyApp.java | 4 + .../src/main/java/org/example/Rent.java | 8 +- .../src/main/java/org/example/User.java | 33 ++--- 9 files changed, 86 insertions(+), 98 deletions(-) delete mode 100644 Answers/Add Your Projects Here.txt delete mode 100644 Answers/_40230112134/Admin.txt delete mode 100644 Answers/_40230112134/Rent.txt diff --git a/Answers/Add Your Projects Here.txt b/Answers/Add Your Projects Here.txt deleted file mode 100644 index e69de29..0000000 diff --git a/Answers/_40230112134/Admin.txt b/Answers/_40230112134/Admin.txt deleted file mode 100644 index e69de29..0000000 diff --git a/Answers/_40230112134/Book.txt b/Answers/_40230112134/Book.txt index a2c5feb..3d05472 100644 --- a/Answers/_40230112134/Book.txt +++ b/Answers/_40230112134/Book.txt @@ -10,3 +10,5 @@ 104/sDA/ASDAS/add/true 288/4653/98465/8945632/true 940/lllllllllllll/lllllllllllll/lllllllllllll/true +66/;/;/;/true +871/;/'/'/true diff --git a/Answers/_40230112134/NormalUser.txt b/Answers/_40230112134/NormalUser.txt index e69de29..ffd7292 100644 --- a/Answers/_40230112134/NormalUser.txt +++ b/Answers/_40230112134/NormalUser.txt @@ -0,0 +1,3 @@ +40230112134/ad/84965/2024-05-17 +6//2/2024-05-17 +78456/asdf/8/2024-05-17 diff --git a/Answers/_40230112134/Rent.txt b/Answers/_40230112134/Rent.txt deleted file mode 100644 index e69de29..0000000 diff --git a/Answers/_40230112134/src/main/java/org/example/Library.java b/Answers/_40230112134/src/main/java/org/example/Library.java index 217b79c..4b69bda 100644 --- a/Answers/_40230112134/src/main/java/org/example/Library.java +++ b/Answers/_40230112134/src/main/java/org/example/Library.java @@ -7,44 +7,45 @@ public class Library { NormalUser normalUser = new NormalUser(); Admin admin = new Admin(); User user = new User(); - int BookCapacity = 0 , UserCapacity = 0; private final String LibraryName; private final String OperatingHours; private final int CapacityBook; private final int CapacityUser; - private final boolean BookRepository; +// private final boolean BookRepository; public Library(){ this.LibraryName = "(-_-)(HOMA)(-_-)"; this.OperatingHours = "9 a.m. - 9 p.m."; this.CapacityBook = 50; this.CapacityUser = 25; - this.BookRepository = ChapFileBook(); +// this.BookRepository = ChapFileBook(); } public int getCapacityUser() { return CapacityUser; } - public boolean getBookRepository() { return BookRepository; } +// public boolean getBookRepository() { return BookRepository; } public int getCapacityBook() { return CapacityBook; } public String getOperatingHours() { return OperatingHours; } public String getLibraryName() { return LibraryName; } public void ReadFileNormalUser(String filepath) { + normalUser.getPeople().clear(); + ArrayList test = new ArrayList<>(); try { BufferedReader bufferedReader = new BufferedReader(new FileReader(filepath)); String line; - user.getPeople().clear(); + normalUser.getPeople().clear(); while ((line = bufferedReader.readLine()) != null) { - user.getPeople().add(line); + test.add(line); } bufferedReader.close(); } catch (IOException r){ System.out.println("An error occurred."); } - user.setPeople(user.getPeople()); + normalUser.setPeople(test); } public void WriteFileNormalUser(String filepath) { try { FileWriter writer = new FileWriter(filepath); BufferedWriter bufferedWriter = new BufferedWriter(writer); - for (String temp : user.getPeople()) + for (String temp : normalUser.getPeople()) { bufferedWriter.write(temp); bufferedWriter.newLine(); @@ -53,11 +54,11 @@ public void WriteFileNormalUser(String filepath) { } catch (IOException e){ System.out.println("Wrong"); } - user.getPeople().clear(); } - public void AddNormalUser() { - ReadFileNormalUser("NormalUser.txt"); - System.out.println("Enter the your name"); + public void AddNormalUser(String studentID) { +// ReadFileNormalUser("NormalUser.txt"); + normalUser.setIDUser(studentID); + System.out.println("Enter the your name:"); Scanner scanner = new Scanner(System.in); normalUser.setName(scanner.nextLine()); boolean flag = true; @@ -83,27 +84,28 @@ public void AddNormalUser() { for (int i = 0; i < normalUser.getPeople().size(); i++) { String[] list = normalUser.getPeople().get(i).split("/"); - if (Objects.equals(normalUser.getName(), list[1]) || Objects.equals(normalUser.getPhoneNumber(), list[2])) + if (Objects.equals(normalUser.getName(), list[1]) || Objects.equals(normalUser.getPhoneNumber(), list[2])) { System.out.println("you can not add the user"); System.out.println("because we have that"); } else { - normalUser.setUniqueID(normalUser.FindBigID(normalUser.getPeople())); - normalUser.getPeople().add((normalUser.getIDUser()) + "/" + normalUser.getName() + "/" + normalUser.getPhoneNumber() + normalUser.getFormattedDateTime()); +// normalUser.setUniqueID(normalUser.FindBigID(normalUser.getPeople())); + normalUser.getPeople().add(normalUser.getIDUser() + "/" + normalUser.getName() + "/" + normalUser.getPhoneNumber() + "/" + normalUser.getFormattedDateTime()); System.out.println("The user has been successfully added"); System.out.println("Your Unique ID is : " + normalUser.getIDUser()); break; } } if (normalUser.getPeople().isEmpty()) { - normalUser.setUniqueID(1); - normalUser.getPeople().add((normalUser.getIDUser()) + "/" + normalUser.getName() + "/" + normalUser.getPhoneNumber() + normalUser.getFormattedDateTime()); + ArrayList test = new ArrayList<>(); + test.add((normalUser.getIDUser()) + "/" + normalUser.getName() + "/" + normalUser.getPhoneNumber() + "/" + normalUser.getFormattedDateTime()); + normalUser.setPeople(test); System.out.println("The user has been successfully added"); System.out.println("Your Unique ID is : " + normalUser.getIDUser()); } - WriteFileNormalUser("NormalUser.txt"); + WriteFileNormalUser("Normaluser.txt"); } public void DeleteNormalUser(String number) { ReadFileNormalUser("NormalUser.txt"); @@ -121,58 +123,23 @@ public void DeleteNormalUser(String number) { normalUser.setPeople(normalUser.getPeople()); } public void ChapFileUser() { - ReadFileNormalUser("NormalUser.txt"); - for (int i = 0; i < normalUser.getPeople().size(); i++) - { - String[] list = normalUser.getPeople().get(i).split("/"); - System.out.println("ID: " + list[0] + "Name: " + list[1] + "Phone number: " + list[2] + "Time to enter the library: " + list[3]); - } - } - public boolean ChapFileBook() { - boolean flag = false; - ReadFileNormalUser("Book.txt"); for (int i = 0; i < normalUser.getPeople().size(); i++) { String[] list = normalUser.getPeople().get(i).split("/"); - System.out.println("ID: " + list[0] + "Name: " + list[1] + "Author: " + list[2] + "AvailabilityStatus: " + list[4]); - flag = true; + System.out.println("ID: " + list[0] + " _ Name: " + list[1] + " _ Phone number: " + list[2] + " _ Time to enter the library: " + list[3]); } - return flag; } - -// public void HomePage() { -// System.out.println("Enter your way"); -// System.out.println("1. User"); -// System.out.println("2. Admin"); -// Scanner scanner = new Scanner(System.in); -// int comment = scanner.nextInt(); -// boolean flag = true; -// while (flag) -// { -// switch (comment) -// { -// case 1: -// -// break; -// case 2: -// -// break; -// default: -// System.out.println("try again"); -// break; -// } -// } -// -// } public void CLIComment() { + user.ReadFileBook("Book.txt"); + ReadFileNormalUser("Normaluser.txt"); while (true) { System.out.println(getLibraryName() + " How can I help you???!!!"); System.out.println("lib add book "); System.out.println("lib get hrs"); System.out.println("lib rent "); - System.out.println("4.lib get available books"); - System.out.println("5.lib return book"); - System.out.println("6.lib get available members"); + System.out.println("lib add member "); + System.out.println("lib get available books"); + System.out.println("lib get available users "); System.out.println("7.lib remove member"); System.out.println("8.lib add member"); System.out.println("lib exit"); @@ -180,32 +147,45 @@ public void CLIComment() { Scanner scanner = new Scanner(System.in); String comment = scanner.nextLine(); String[] list = comment.split(" "); - user.ReadFileBook("Book.txt"); - if (Objects.equals(list[1], "add") && Objects.equals(list[2], "book")) { - if (BookCapacity <= getCapacityBook()) - { - BookCapacity++; - user.AddBook(list[3] , list[4] , list[5]); - } - else - { - System.out.println("Sorry, we don't have room for books."); - System.out.println("Try something else."); - } + if (Objects.equals(list[1], "add") && Objects.equals(list[2], "book")) + { + user.AddBook(list[3] , list[4] , list[5]); } - else if (Objects.equals(list[1], "get") && Objects.equals(list[2], "hrs")) { + else if (Objects.equals(list[1], "get") && Objects.equals(list[2], "hrs")) + { System.out.println("**************************"); System.out.println(getOperatingHours()); System.out.println("**************************"); } else if (Objects.equals(list[1], "exit")) { - System.exit(0); +// System.exit(0); + break; } - else if (Objects.equals(list[1], "rent") && list.length <= 3) { + else if (Objects.equals(list[1], "rent") && list.length <= 3) + { Rent rent = new Rent(); rent.RentBook(list[2]); } - user.WriteFileBook("Book.txt"); + else if (Objects.equals(list[1], "add") && Objects.equals(list[2], "member")) + { + if (Objects.equals(list[4], admin.getPassword())) + { + AddNormalUser(list[3]); + } + } + else if (Objects.equals(list[1], "get") && Objects.equals(list[2], "available") && list.length == 3) + { + System.out.println("**************************"); + user.ChapFileBook(); + System.out.println("**************************"); + } + else if (Objects.equals(list[1], "get") && Objects.equals(list[2], "available") && Objects.equals(list[4], admin.getPassword())) + { + + System.out.println("**************************"); + ChapFileUser(); + System.out.println("**************************"); + } // switch (comment) // { // case "lib add book": @@ -292,7 +272,9 @@ else if (Objects.equals(list[1], "rent") && list.length <= 3) { // default: // System.out.println("Try again"); // break; -// } +// }; } + user.WriteFileBook("Book.txt"); + WriteFileNormalUser("Normaluser.txt"); } } \ No newline at end of file diff --git a/Answers/_40230112134/src/main/java/org/example/MyApp.java b/Answers/_40230112134/src/main/java/org/example/MyApp.java index 5314180..0fdc384 100644 --- a/Answers/_40230112134/src/main/java/org/example/MyApp.java +++ b/Answers/_40230112134/src/main/java/org/example/MyApp.java @@ -4,5 +4,9 @@ public class MyApp extends UniqueID{ public static void main(String[] args) { Library library = new Library(); library.CLIComment(); +// NormalUser normalUser = new NormalUser(); +// library.ReadFileNormalUser("NormalUser.txt"); +// library.AddNormalUser("40230112134"); +// library.WriteFileNormalUser("NormalUser.txt"); } } \ No newline at end of file diff --git a/Answers/_40230112134/src/main/java/org/example/Rent.java b/Answers/_40230112134/src/main/java/org/example/Rent.java index 26f8b34..bbbc7fd 100644 --- a/Answers/_40230112134/src/main/java/org/example/Rent.java +++ b/Answers/_40230112134/src/main/java/org/example/Rent.java @@ -17,16 +17,16 @@ public Rent(){ RentalDate = currentDateTime.format(formatter); } public void RentBook(String name) { - for (int i = 0; i < user.book.getTotal().size(); i++) + for (int i = 0; i < book.getTotal().size(); i++) { - String[] list = user.book.getTotal().get(i).split("/"); + String[] list = book.getTotal().get(i).split("/"); if (Objects.equals(list[1],name) || Objects.equals(list[4],"true")) { - user.book.getTotal().remove(i); + book.getTotal().remove(i); System.out.println("The book has been successfully rented."); System.out.println("enjoy , Bye."); String temp = list[0] + "/" + list[1] + "/" + list[2] + "/" + list[3] + "/" + RentalDate ; - user.book.getTotal().add(temp); + book.getTotal().add(temp); break; } } diff --git a/Answers/_40230112134/src/main/java/org/example/User.java b/Answers/_40230112134/src/main/java/org/example/User.java index cc5e42f..4c31686 100644 --- a/Answers/_40230112134/src/main/java/org/example/User.java +++ b/Answers/_40230112134/src/main/java/org/example/User.java @@ -11,15 +11,8 @@ public class User extends UniqueID { private String IDUser; private String PhoneNumber; private ArrayList people = new ArrayList<>(); - public User(String name , String phoneNumber ) - { - this.Name = name; - this.PhoneNumber = phoneNumber; - this.IDUser = getUniqueIDString(); - } public ArrayList getPeople() { return people; } public void setPeople(ArrayList people) { this.people = people; } - public User() {} public String getPhoneNumber() { return PhoneNumber; } @@ -95,12 +88,22 @@ public void AddBook(String name , String author , String des) } } if (book.getTotal().isEmpty()) { - setUniqueID(1); + setUniqueID(0); book.getTotal().add(book.getIDBook() + "/" + book.getTitle() + "/" + book.getAuthor() + "/" + book.getDescription() + "/" + book.getAvailabilityStatus()); System.out.println("The book has been successfully added"); System.out.println("Your Unique ID is : " + book.getIDBook()); } } + public void ChapFileBook() { + for (int i = 0; i < book.getTotal().size(); i++) + { + String[] list = book.getTotal().get(i).split("/"); + if (Objects.equals(list[4], "true")) + { + System.out.println("ID: " + list[0] + " _ Name: " + list[1] + " _ Author: " + list[2] + " _ AvailabilityStatus: " + list[4]); + } + } + } public void SearchBook(String sentence) { boolean flag = false; @@ -202,23 +205,17 @@ class NormalUser extends User { LocalDateTime currentDateTime = LocalDateTime.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); - private String UserDate; - public NormalUser(String name, String phoneNumber) { - super(name, phoneNumber); - UserDate = currentDateTime.format(formatter); - } + private final String UserDate; public NormalUser() { + UserDate = currentDateTime.format(formatter); } public String getFormattedDateTime() { return UserDate; } } class Admin extends User { - private String Password; - public Admin(String name, String phonenumber) + private final String Password; + public Admin() { - super(name, phonenumber); this.Password = "8488"; } - public Admin() { - } public String getPassword() {return Password;} } \ No newline at end of file From a539f44fc38100ad73f836a0c48bdfeb2a00476f Mon Sep 17 00:00:00 2001 From: "Amir.Homa" Date: Fri, 17 May 2024 14:39:39 +0330 Subject: [PATCH 23/24] fix CLI method --- Answers/_40230112134/NormalUser.txt | 3 +- .../src/main/java/org/example/Library.java | 192 ++++++------------ .../src/main/java/org/example/MyApp.java | 4 - .../src/main/java/org/example/Rent.java | 14 ++ 4 files changed, 80 insertions(+), 133 deletions(-) diff --git a/Answers/_40230112134/NormalUser.txt b/Answers/_40230112134/NormalUser.txt index ffd7292..9d11674 100644 --- a/Answers/_40230112134/NormalUser.txt +++ b/Answers/_40230112134/NormalUser.txt @@ -1,3 +1,2 @@ 40230112134/ad/84965/2024-05-17 -6//2/2024-05-17 -78456/asdf/8/2024-05-17 +56/adfsgd/98465/2024-05-17 diff --git a/Answers/_40230112134/src/main/java/org/example/Library.java b/Answers/_40230112134/src/main/java/org/example/Library.java index 4b69bda..3503d5b 100644 --- a/Answers/_40230112134/src/main/java/org/example/Library.java +++ b/Answers/_40230112134/src/main/java/org/example/Library.java @@ -108,11 +108,9 @@ public void AddNormalUser(String studentID) { WriteFileNormalUser("Normaluser.txt"); } public void DeleteNormalUser(String number) { - ReadFileNormalUser("NormalUser.txt"); for (int i = 0; i < normalUser.getPeople().size(); i++) { - String line1 = normalUser.getPeople().get(i); - String[] list = line1.split("/"); + String[] list = normalUser.getPeople().get(i).split("/"); if (Objects.equals(list[0], number)) { System.out.println("The deletion was successful"); @@ -120,7 +118,6 @@ public void DeleteNormalUser(String number) { break; } } - normalUser.setPeople(normalUser.getPeople()); } public void ChapFileUser() { for (int i = 0; i < normalUser.getPeople().size(); i++) @@ -130,9 +127,10 @@ public void ChapFileUser() { } } public void CLIComment() { + boolean flag = true; user.ReadFileBook("Book.txt"); ReadFileNormalUser("Normaluser.txt"); - while (true) { + while (flag) { System.out.println(getLibraryName() + " How can I help you???!!!"); System.out.println("lib add book "); System.out.println("lib get hrs"); @@ -140,139 +138,79 @@ public void CLIComment() { System.out.println("lib add member "); System.out.println("lib get available books"); System.out.println("lib get available users "); - System.out.println("7.lib remove member"); - System.out.println("8.lib add member"); + System.out.println("lib remove member "); + System.out.println("lib return "); System.out.println("lib exit"); - System.out.println("Enter your comment:"); + System.out.println("Enter your comment --->"); Scanner scanner = new Scanner(System.in); String comment = scanner.nextLine(); - String[] list = comment.split(" "); - if (Objects.equals(list[1], "add") && Objects.equals(list[2], "book")) - { - user.AddBook(list[3] , list[4] , list[5]); - } - else if (Objects.equals(list[1], "get") && Objects.equals(list[2], "hrs")) + if (Objects.equals(comment, "") || Objects.equals(comment, " ")) { - System.out.println("**************************"); - System.out.println(getOperatingHours()); - System.out.println("**************************"); + flag = true; + continue; } - else if (Objects.equals(list[1], "exit")) { -// System.exit(0); - break; - } - else if (Objects.equals(list[1], "rent") && list.length <= 3) - { - Rent rent = new Rent(); - rent.RentBook(list[2]); + String[] list = comment.split(" "); + if (!(Objects.equals(list[0], "lib")) || list.length < 2) { + System.out.println("Invalid input. Please try again."); + flag = true; + continue; } - else if (Objects.equals(list[1], "add") && Objects.equals(list[2], "member")) + else { - if (Objects.equals(list[4], admin.getPassword())) + if (Objects.equals(list[1], "add") && Objects.equals(list[2], "book")) { - AddNormalUser(list[3]); + user.AddBook(list[3] , list[4] , list[5]); } - } - else if (Objects.equals(list[1], "get") && Objects.equals(list[2], "available") && list.length == 3) - { - System.out.println("**************************"); - user.ChapFileBook(); - System.out.println("**************************"); - } - else if (Objects.equals(list[1], "get") && Objects.equals(list[2], "available") && Objects.equals(list[4], admin.getPassword())) - { + else if (Objects.equals(list[1], "get") && Objects.equals(list[2], "hrs")) + { + System.out.println("**************************"); + System.out.println(getOperatingHours()); + System.out.println("**************************"); + } + else if (Objects.equals(list[1], "exit")) { +// System.exit(0); + System.out.println("\nBye Bye"); + flag = false; + break; + } + else if (Objects.equals(list[1], "rent") && list.length <= 3) + { + Rent rent = new Rent(); + rent.RentBook(list[2]); + } + else if (Objects.equals(list[1], "add") && Objects.equals(list[2], "member")) + { + if (Objects.equals(list[4], admin.getPassword())) + { + AddNormalUser(list[3]); + } + } + else if (Objects.equals(list[1], "get") && Objects.equals(list[2], "available") && Objects.equals(list[3], "books")) + { + System.out.println("**************************"); + user.ChapFileBook(); + System.out.println("**************************"); + } + else if (Objects.equals(list[1], "get") && Objects.equals(list[2], "available") && Objects.equals(list[4], admin.getPassword()) && Objects.equals(list[3], "users")) + { - System.out.println("**************************"); - ChapFileUser(); - System.out.println("**************************"); + System.out.println("**************************"); + ChapFileUser(); + System.out.println("**************************"); + } + else if (Objects.equals(list[1], "remove") && Objects.equals(list[2], "member")) + { + if (Objects.equals(list[4], admin.getPassword())) + { + DeleteNormalUser(list[3]); + } + } + else if (Objects.equals(list[1], "return")) + { + Rent rent = new Rent(); + rent.ReturnBook(list[2]); + } } -// switch (comment) -// { -// case "lib add book": -// if (BookCapacity <= getCapacityBook()) -// { -// BookCapacity++; -// user.AddBook(); -// } -// else -// { -// System.out.println("Sorry, we don't have room for books."); -// System.out.println("Try something else."); -// } -// CLIComment(); -// break; -// case 2: -// System.out.println(getOperatingHours()); -// CLIComment(); -// break; -// case 3: -// Rent rent = new Rent(); -// ChapFileBook(); -// System.out.println("Enter your ID you want to rent: "); -// String testId = scanner.nextLine(); -// rent.RentBook(testId); -// CLIComment(); -// break; -// case 4: -// boolean bb = getBookRepository(); -// if (!bb) -// { -// System.out.println("we do not have any books"); -// } -// CLIComment(); -// break; -// case 5: -// -// CLIComment(); -// break; -// case 6: -// ChapFileUser(); -// CLIComment(); -// break; -// case 7: -// String temp1 = scanner.nextLine(); -// if (Objects.equals(temp1, admin.getPassword())) -// { -// ChapFileUser(); -// System.out.println("Enter your ID you want delete : "); -// String testid = scanner.nextLine(); -// DeleteNormalUser(testid); -// } -// else -// { -// System.out.println("Sorry,Try something else."); -// } -// CLIComment(); -// break; -// case 8: -// if (UserCapacity < getCapacityUser()) -// { -// UserCapacity++; -// String temp = scanner.nextLine(); -// if (Objects.equals(temp, admin.getPassword())) -// { -// AddNormalUser(); -// } -// else -// { -// System.out.println("Sorry,Try something else."); -// } -// } -// else -// { -// System.out.println("Sorry, we don't have room for User"); -// System.out.println("Try something else."); -// } -// CLIComment(); -// break; -// case 9: -// System.out.println("Bye Bye"); -// System.exit(0); -// break; -// default: -// System.out.println("Try again"); -// break; -// }; } user.WriteFileBook("Book.txt"); WriteFileNormalUser("Normaluser.txt"); diff --git a/Answers/_40230112134/src/main/java/org/example/MyApp.java b/Answers/_40230112134/src/main/java/org/example/MyApp.java index 0fdc384..5314180 100644 --- a/Answers/_40230112134/src/main/java/org/example/MyApp.java +++ b/Answers/_40230112134/src/main/java/org/example/MyApp.java @@ -4,9 +4,5 @@ public class MyApp extends UniqueID{ public static void main(String[] args) { Library library = new Library(); library.CLIComment(); -// NormalUser normalUser = new NormalUser(); -// library.ReadFileNormalUser("NormalUser.txt"); -// library.AddNormalUser("40230112134"); -// library.WriteFileNormalUser("NormalUser.txt"); } } \ No newline at end of file diff --git a/Answers/_40230112134/src/main/java/org/example/Rent.java b/Answers/_40230112134/src/main/java/org/example/Rent.java index bbbc7fd..aec59fa 100644 --- a/Answers/_40230112134/src/main/java/org/example/Rent.java +++ b/Answers/_40230112134/src/main/java/org/example/Rent.java @@ -31,4 +31,18 @@ public void RentBook(String name) { } } } + public void ReturnBook(String name) { + for (int i = 0; i < book.getTotal().size(); i++) + { + String[] list = book.getTotal().get(i).split("/"); + if (Objects.equals(list[1],name)) + { + book.getTotal().remove(i); + System.out.println("Thank you for returning the book"); + String temp = list[0] + "/" + list[1] + "/" + list[2] + "/" + list[3] + "/" + "true" ; + book.getTotal().add(temp); + break; + } + } + } } \ No newline at end of file From fc1f0b49f3ebf011b105bd9cce937dac5b229ece Mon Sep 17 00:00:00 2001 From: "Amir.Homa" Date: Fri, 17 May 2024 15:40:11 +0330 Subject: [PATCH 24/24] add rent and return method --- Answers/_40230112134/Book.txt | 6 +- .../src/main/java/org/example/Library.java | 6 +- .../src/main/java/org/example/Rent.java | 43 +----- .../src/main/java/org/example/User.java | 146 ++++++++---------- 4 files changed, 79 insertions(+), 122 deletions(-) diff --git a/Answers/_40230112134/Book.txt b/Answers/_40230112134/Book.txt index 3d05472..733cab3 100644 --- a/Answers/_40230112134/Book.txt +++ b/Answers/_40230112134/Book.txt @@ -1,6 +1,3 @@ -1/a/a/a/true -2/s/s/s/true -3/d/d/d/true 5/f/f/f/true 6/g/g/g/true 7/hj/jkk/jk/true @@ -10,5 +7,6 @@ 104/sDA/ASDAS/add/true 288/4653/98465/8945632/true 940/lllllllllllll/lllllllllllll/lllllllllllll/true -66/;/;/;/true 871/;/'/'/true +66/;/;/;/true +3/d/d/d/true \ No newline at end of file diff --git a/Answers/_40230112134/src/main/java/org/example/Library.java b/Answers/_40230112134/src/main/java/org/example/Library.java index 3503d5b..a628bfa 100644 --- a/Answers/_40230112134/src/main/java/org/example/Library.java +++ b/Answers/_40230112134/src/main/java/org/example/Library.java @@ -175,8 +175,7 @@ else if (Objects.equals(list[1], "exit")) { } else if (Objects.equals(list[1], "rent") && list.length <= 3) { - Rent rent = new Rent(); - rent.RentBook(list[2]); + user.Rent(list[2]); } else if (Objects.equals(list[1], "add") && Objects.equals(list[2], "member")) { @@ -207,8 +206,7 @@ else if (Objects.equals(list[1], "remove") && Objects.equals(list[2], "member")) } else if (Objects.equals(list[1], "return")) { - Rent rent = new Rent(); - rent.ReturnBook(list[2]); + user.ReturnBook(list[2]); } } } diff --git a/Answers/_40230112134/src/main/java/org/example/Rent.java b/Answers/_40230112134/src/main/java/org/example/Rent.java index aec59fa..9b19a26 100644 --- a/Answers/_40230112134/src/main/java/org/example/Rent.java +++ b/Answers/_40230112134/src/main/java/org/example/Rent.java @@ -1,48 +1,19 @@ package org.example; +import java.io.*; import java.time.*; import java.time.format.DateTimeFormatter; import java.util.*; -public class Rent extends UniqueID{ - Book book; - User user; +public class Rent { + Book book ; + User user ; LocalDateTime currentDateTime = LocalDateTime.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); - private final String RentalDate; + private final String RentalDate ; public String getRentalDate() { return RentalDate; } - public Rent(){ - book = new Book(); - user = new User(); + public Rent() + { RentalDate = currentDateTime.format(formatter); } - public void RentBook(String name) { - for (int i = 0; i < book.getTotal().size(); i++) - { - String[] list = book.getTotal().get(i).split("/"); - if (Objects.equals(list[1],name) || Objects.equals(list[4],"true")) - { - book.getTotal().remove(i); - System.out.println("The book has been successfully rented."); - System.out.println("enjoy , Bye."); - String temp = list[0] + "/" + list[1] + "/" + list[2] + "/" + list[3] + "/" + RentalDate ; - book.getTotal().add(temp); - break; - } - } - } - public void ReturnBook(String name) { - for (int i = 0; i < book.getTotal().size(); i++) - { - String[] list = book.getTotal().get(i).split("/"); - if (Objects.equals(list[1],name)) - { - book.getTotal().remove(i); - System.out.println("Thank you for returning the book"); - String temp = list[0] + "/" + list[1] + "/" + list[2] + "/" + list[3] + "/" + "true" ; - book.getTotal().add(temp); - break; - } - } - } } \ No newline at end of file diff --git a/Answers/_40230112134/src/main/java/org/example/User.java b/Answers/_40230112134/src/main/java/org/example/User.java index 4c31686..7df5470 100644 --- a/Answers/_40230112134/src/main/java/org/example/User.java +++ b/Answers/_40230112134/src/main/java/org/example/User.java @@ -7,6 +7,7 @@ public class User extends UniqueID { Book book = new Book(); + Rent rent = new Rent(); private String Name; private String IDUser; private String PhoneNumber; @@ -94,7 +95,8 @@ public void AddBook(String name , String author , String des) System.out.println("Your Unique ID is : " + book.getIDBook()); } } - public void ChapFileBook() { + public void ChapFileBook() + { for (int i = 0; i < book.getTotal().size(); i++) { String[] list = book.getTotal().get(i).split("/"); @@ -106,99 +108,87 @@ public void ChapFileBook() { } public void SearchBook(String sentence) { - boolean flag = false; - ReadFileBook("Book.txt"); - char[] word = sentence.toCharArray(); +// boolean flag = false; +// ReadFileBook("Book.txt"); +// char[] word = sentence.toCharArray(); +// for (int i = 0; i < book.getTotal().size(); i++) +// { +// char[] jomle = book.getTotal().get(i).toCharArray(); +// for (int j = 0; j < jomle.length; j++) +// { +// for (int k = 0; k < word.length; k++) +// { +// if (word[k] == jomle[j]) +// { +// flag = true; +// } +// } +// } +// if (flag) +// { +// flag = false; +// String[] list = book.getTotal().get(i).split("/"); +// System.out.println("Your ID book: " + list[0]); +// System.out.println("Your Title: " + list[1]); +// System.out.println("Your Author: " + list[2]); +// System.out.println("Your Description: " + list[3]); +// System.out.println("Your Availability Status: " + list[4]); +// } +// } +// WriteFileBook("Book.txt"); + } + public void Delete(String number) + { +// for (int i = 0; i < book.getTotal().size(); i++) +// { +// String line1 = book.getTotal().get(i); +// String[] list = line1.split("/"); +// if (Objects.equals(list[0], number)) +// { +// System.out.println("The deletion was successful"); +// book.getTotal().remove(i); +// break; +// } +// } +// book.setTotal(book.getTotal()); + } + public void Rent(String name) + { for (int i = 0; i < book.getTotal().size(); i++) { - char[] jomle = book.getTotal().get(i).toCharArray(); - for (int j = 0; j < jomle.length; j++) + String[] list = book.getTotal().get(i).split("/"); + if (Objects.equals(list[1],name)) { - for (int k = 0; k < word.length; k++) + if (Objects.equals(list[4],"true")) { - if (word[k] == jomle[j]) - { - flag = true; - } + book.getTotal().remove(i); + System.out.println("The book has been successfully rented."); + System.out.println("enjoy , Bye."); + String test = list[0] + "/" + list[1] + "/" + list[2] + "/" + list[3] + "/" + rent.getRentalDate() ; + book.getTotal().add(test); + break; + } + else + { + System.out.println("you can not rent this book because the book rented"); } - } - if (flag) - { - flag = false; - String[] list = book.getTotal().get(i).split("/"); - System.out.println("Your ID book: " + list[0]); - System.out.println("Your Title: " + list[1]); - System.out.println("Your Author: " + list[2]); - System.out.println("Your Description: " + list[3]); - System.out.println("Your Availability Status: " + list[4]); } } - WriteFileBook("Book.txt"); } - public void Delete(String number) + public void ReturnBook(String name) { - ReadFileBook("Book.txt"); for (int i = 0; i < book.getTotal().size(); i++) { - String line1 = book.getTotal().get(i); - String[] list = line1.split("/"); - if (Objects.equals(list[0], number)) + String[] list = book.getTotal().get(i).split("/"); + if (Objects.equals(list[1],name)) { - System.out.println("The deletion was successful"); book.getTotal().remove(i); - Rewind(i); + System.out.println("Thank you for returning the book"); + String test = list[0] + "/" + list[1] + "/" + list[2] + "/" + list[3] + "/" + "true" ; + book.getTotal().add(test); break; } } - book.setTotal(book.getTotal()); - WriteFileBook("Book.txt"); - } - public int FindBigID(ArrayList total) - { - int bigerid = 0; - for (int i = 0; i < total.size(); i++) - { - String[] list = total.get(i).split("/"); - char[] id = list[0].toCharArray(); - int[] numbersArray = new int[id.length]; - int[] numbers = new int[id.length]; - int x=0; - for (int j = 0; j < id.length; j++) - { - numbersArray[j] = ((int) id[j])-48; - } - int c=1; - for (int j = 0; j < id.length; j++) - { - x += (numbersArray[j]*c); - c *= 10; - } - if (x > bigerid) - { - bigerid = x; - } - } - return bigerid; - } - public void Rewind(int num) - { - ArrayList test = new ArrayList<>(); - for (int i = num; i < book.getTotal().size() ; i++) - { - String[] list = book.getTotal().get(i).split("/"); - int number = Integer.parseInt(list[0]) -1; - list[0] = Integer.toString(number); - String temp = list[0] + "/" + list[1] + "/" + list[2] + "/" + list[3] + "/" + list[4]; - test.add(temp); - } - for (int i = 0; i < book.getTotal().size(); i++) - { - book.getTotal().remove(num); - } - for (String s : test) - { - book.getTotal().add(s); - } } } class NormalUser extends User {