هذا الالتزام موجود في:
hamza
2026-04-09 15:32:55 +03:00
التزام ba28b83b38

695
Mohamad_Hamza_Rawyh.java Normal file
عرض الملف

@@ -0,0 +1,695 @@
package com.mycompany.mohamad_hamza_rawyh;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
abstract class Item {
private int id;
private String address, specialization, year_of_publiction;
public Item(int id, String address, String year_of_publiction, String specialization) {
this.id = id;
this.address = address;
this.year_of_publiction = year_of_publiction;
this.specialization = specialization;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getYear_of_publiction() {
return year_of_publiction;
}
public void setYear_of_publiction(String year_of_publiction) {
this.year_of_publiction = year_of_publiction;
}
public String getSpecialization() {
return specialization;
}
public void setSpecialization(String specialization) {
this.specialization = specialization;
}
public abstract void printtype();
public void printInfo() {
System.out.println("id=" + id + ", address=" + address + ", year_of_publiction=" + year_of_publiction + ", specialization=" + specialization + '}');
}
}
class Book extends Item {
private String name_of_author;//مولف
private int number_of_page;//عدد صفحات الكتاب
private String publish_hous;//دار النشر
public Book(String name_of_author, int number_of_page, String publish_hous, int id, String address, String year_of_publiction, String specialization) {
super(id, address, year_of_publiction, specialization);
this.name_of_author = name_of_author;
this.number_of_page = number_of_page;
this.publish_hous = publish_hous;
}
public String getName_of_author() {
return name_of_author;
}
public void setName_of_author(String name_of_author) {
this.name_of_author = name_of_author;
}
public int getNumber_of_page() {
return number_of_page;
}
public void setNumber_of_page(int number_of_page) {
this.number_of_page = number_of_page;
}
public String getPublish_hous() {
return publish_hous;
}
public void setPublish_hous(String publish_hous) {
this.publish_hous = publish_hous;
}
public void printInfo() {
System.out.print("Book{" + "name_of_author=" + name_of_author + ", number_of_page=" + number_of_page + ", publish_hous=" + publish_hous);
super.printInfo();
}
@Override
public void printtype() {
System.out.println("Book");
}
}
class Project extends Item {
private String work_team, year;
public Project(String work_team, String year, int id, String address, String year_of_publiction, String specialization) {
super(id, address, year_of_publiction, specialization);
this.work_team = work_team;
this.year = year;
}
public String getWork_team() {
return work_team;
}
public void setWork_team(String work_team) {
this.work_team = work_team;
}
public String getYear() {
return year;
}
public void setYear(String year) {
this.year = year;
}
@Override
public void printtype() {
System.out.println("project");
}
public void printInfo() {
System.out.print("Project{" + "work_team=" + work_team + ", year=" + year);
super.printInfo();
}
}
class Library {
List<Item> itemsn = new ArrayList<>();
List<Member> members = new ArrayList<>();
List<Item> borrowd = new ArrayList<>();
public void addItem(Item item) {
itemsn.add(item);
System.out.println("Item added");
}//اضافة عنصر
public void addmember(Member member) {
members.add(member);
System.out.println("Member added");
}//اضافة عضو
public void view_All_Book() {
boolean found = false;
for (Item item : itemsn) {
if (item instanceof Book) {
Book b = (Book) item;
b.printInfo();
found = true;
}
}
if (!found) {
System.out.println("there are no books in library");
}
}// عرض جميع الكتب
public List<Project> displayThirdYearProject() {
List<Project> projects = new ArrayList<>();
boolean found = false;
for (Item item : itemsn) {
if (item instanceof Project) {
Project project = (Project) item;
if (project.getYear().equals("THIRD")) {
projects.add(project);
found = true;
}
}
}
if (!found) {
System.out.println("There are no Third-year projects");
}
return projects;
}//تابع يعرض مشاريع السنة الثالثة
public void displayMemberWhoBorrowartifecal() {
boolean found = false;
for (Member member : members) {
for (Item item : member.getborrowditem()) {
if (item instanceof Book) {
Book b = (Book) item;
if (b.getSpecialization().equals("artifecal")) {
System.out.println("name:" + member.getName());
}
}
}
found = true;
}
if (!found) {
System.out.println("there are no borrowed members artifecal ");
}
}//عرض جميع كتب الذكاء الاصتناعي
public List<Book> getCurrentlyBorrowebook() {
List<Book> borrowed = new ArrayList<>();
boolean found = false;
for (Member member : members) {
for (Item i : member.getborrowditem()) {
if (i instanceof Book) {
borrowed.add((Book) i);
}
}
found = true;
}
if (!found) {
System.out.println("There are no books on loan");
}
return borrowed;
}// عرض الكتب المعارة حالياً
public Member findMember(String memberName) {
for (Member member : members) {
if (member.getName().equals(memberName)) {
return member;
}
}
return null;
}//البحث عن عضو
public Item findItem(int id) {
for (Item item : itemsn) {
if (item.getId() == id) {
return item;
}
}
return null;
}// البحث على عنصرفي مكتبة
public boolean borrowIte(String memberName, int id) {
Member member = findMember(memberName);
Item item = findItem(id);
if (member == null || item == null) {
return false;
}
//itemsn.remove(item);
if (member.addelements(item)) {
itemsn.remove(item);
}
borrowd.add(item);//تسجيل عمليات الاعارة
return true;
}//طلب اعارة مشروع او كتاب
public boolean returnItem(String memberName, int id) {
Member member = findMember(memberName);
Item item = findborrowditem(id);
if (member == null || item == null) {
return false;
}
if (member.returnitem(id, LocalDate.of(2025,7,6))) {
itemsn.add(item);
}
borrowd.remove(item);
return true;
}//اعادة كتاب او مشروع
public List<Project> displaProject(String specialization) {
List<Project> projects = new ArrayList<>();
boolean fuond = false;
for (Item i : itemsn) {
if (i instanceof Project && i.getSpecialization().equals(specialization)) {
projects.add((Project) i);
}
fuond = true;
}
if (!fuond) {
System.out.println("there are no projects availabel for this type");
}
return projects;
}//المشاريع المتاحة للغيرمعارة
//
public void getMembersWithOverdueItems() {
boolean found = false;
for (Member member : members) {
if (member.tiem()) {
System.out.println("name:" + member.getName());found=true;
}
}
if(!found)
{System.out.println("There are no late members");}
}//عرض الاعضاء المتاخرين
public List<Item> searchItems(String query) {
List<Item> results = new ArrayList<>();
for (Item item : itemsn) {
if (item.getAddress().equals(query) || item.getSpecialization().equals(query)) {
results.add(item);
}
}
return results;
}//البحث على عنصر من خلال عنوان او النوع
public void displaBoook_Member_borro() {
for (Member member : members) {
System.out.println("name:=" + member.getName());
for (Item i : member.getborrowditem()) {
if (i instanceof Book) {
Book book = (Book) i;
book.printInfo();
}
}
}
System.out.println("there are no members in the library ");
}//عرض الاعضاء مع كتب معارة
public Item findborrowditem(int id) {//تابع بحث في سجلات الاعارة
for (Item item : borrowd) {
if (item.getId() == id) {
return item;
}
}
return null;
}//يحث في سجلات الاعارة
public void showMembersWhoBorrowedBookInPeriod(int bookId, LocalDate startDate, LocalDate endDate) {
System.out.println("Members who borrowed book ID " + bookId + " between " + startDate + " and " + endDate + ":");
boolean found = false;
for (Member member : members) {
List<Item> borrowedItems = member.getborrowditem();
List<LocalDate> borrowDates = member.getBorrowd();
for (int i = 0; i < borrowedItems.size(); i++) {
Item item = borrowedItems.get(i);
if (item.getId() == bookId) {
LocalDate borrowDate = borrowDates.get(i);
if ((borrowDate.isEqual(startDate) || borrowDate.isAfter(startDate))
&& (borrowDate.isEqual(endDate) || borrowDate.isBefore(endDate))) {
System.out.println("Member: " + member.getName()
+ ", Borrow Date: " + borrowDate
+ ", Book Title: " + item.getAddress());
found = true;
}
}
}
}
if (!found) {
System.out.println("No members found who borrowed this book in the specified period.");
}
}
}
class Member {
private int number_of_meber;
private String name;
List<LocalDate> borrowd = new ArrayList<>();//تخزين وقت الاضافة
List<LocalDate> returnborrowd = new ArrayList<>();//تخزين وقت الارجاع
ArrayList<Item> itemss = new ArrayList<>();//العناصر المستعارة
public List<LocalDate> getBorrowd() {
return borrowd;
}
public void setBorrowd(List<LocalDate> borrowd) {
this.borrowd = borrowd;
}
public List<LocalDate> getReturnborrowd() {
return returnborrowd;
}
public void setReturnborrowd(List<LocalDate> returnborrowd) {
this.returnborrowd = returnborrowd;
}
public Member(int number_of_meber, String name) {
this.number_of_meber = number_of_meber;
this.name = name;
}
public int getNumber_of_meber() {
return number_of_meber;
}
public void setNumber_of_meber(int number_of_meber) {
this.number_of_meber = number_of_meber;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void setItemss(ArrayList<Item> itemss) {
this.itemss = itemss;
}
public boolean addelements(Item items) {
if (itemss.size() >= 3) {
System.out.println("the elements are finish ");
return false;
}
borrowd.add(LocalDate.now());
itemss.add(items);
return true;
}
public boolean returnitem(int id, LocalDate returnDate) {
for (Item item : itemss) {
int i = itemss.indexOf(item);
if (item.getId() == id) {
int day = returnDate.getDayOfYear() - borrowd.get(i).getDayOfYear();
returnborrowd.add(returnDate);
itemss.remove(item);
if (day <= 7 && day >= 0) {
System.out.println(day);
System.out.println("welcome to our library ");
} else {
System.out.println("you are late");
}
}
return true;
}
return false;
}
public void printif() {
System.out.println("Member{" + "number_of_meber=" + number_of_meber + ", name=" + name + ", borrowd=" + borrowd + ", returnborrowd=" + returnborrowd + "}");
for (Item item : itemss) {
System.out.println("{" + "id:=" + item.getId() + ",address:=" + item.getAddress() + ",year_of_publiction:=" + item.getYear_of_publiction() + ",specialization:=" + item.getSpecialization() + "}");
}//k
}
public ArrayList<Item> getborrowditem() {
return itemss;
}
public boolean tiem() {
for (int i = 0; i < returnborrowd.size(); i++) {
int day = returnborrowd.get(i).getDayOfYear() - borrowd.get(i).getDayOfYear();
if (day > 7) //System.out.println(day);
{
return true;
}
}
return false;
}
void m() {
for (int i = 0; i < returnborrowd.size(); i++) {
System.out.println(returnborrowd.get(i));
}
}
}
public class Mohamad_Hamza_Rawyh {
public static void main(String[] args) {
System.out.println("Hello World!");
Scanner cin = new Scanner(System.in);
Library b = new Library();
b.addItem(new Book("Ahmad", 105, "opera", 1, "java", "2005","basic scinces"));
b.addItem(new Book("Alaa", 998, "opera", 2, "c++", "2000","intelligence"));
b.addItem(new Book("Ebraheem", 788, "opera", 3, "c#", "2020","software"));
b.addItem(new Project("ITE","2009",4,"ttt","2000","software"));
b.addItem(new Project("UIA","2007",5,"lgf","2018","inteligence"));
b.addItem(new Project("SWE","1998",6,"ugp","1999","basic scince"));
boolean c = true;
boolean i9 = false;
while (c) {
System.out.println(" ****************************************************************");
System.out.println(" * view_All_Book,enter 1 *");
System.out.println(" * TO disply a Book Member borrowed,enter 2 *");
System.out.println(" * To enter a book or To enter project,enter 3 *");
System.out.println(" * search Items,enter 4 *");
System.out.println(" * To borrow a item,enter 5 *");
System.out.println(" * To return the item,enter 6 *");
System.out.println(" * Third year projects,enter 7 *");
System.out.println(" * TO dispaly all members who borrow the book artifecal,enter 8 *");
System.out.println(" * viwe members of lates,enter 9 *");
System.out.println(" * getCurrentlyBorrowebook,enter 10 *");
System.out.println(" * view all project of specialization,enter 11 *");
System.out.println(" * To enter member ,enter 12 *");
System.out.println(" * To dispaly all members during a specific period,enter 13 *");
System.out.println(" * To exit the program,enter 14 *");
System.out.println(" ****************************************************************");
int M = cin.nextInt();
switch (M) {
case 1:
b.view_All_Book();
break;
case 2:
b.displaBoook_Member_borro();
break;
case 3:
System.out.println("To enter the item");
String item1 = cin.next();
if (item1.equals("book")) {
System.out.println(" enter name_of_author:");
String name_of_author = cin.next();
System.out.println(" enter number_of_page:");
int number_of_page = cin.nextInt();
System.out.println("enter publish_hous:");
String publish_hous = cin.next();
System.out.println("enter id:");
int id = cin.nextInt();
System.out.println("enter address ");
String address = cin.next();
System.out.println("enter year_of_publiction:");
String year_of_publiction = cin.next();
System.out.println("enter specialization,'\nBASIC SCIENCES,ENTER 1\nINTELLIGENCE,ENTER2\nSOFTWER,ENTER3\nNETWORKS,ENTER 4\n' ");
int i = cin.nextInt();
if (i == 1 || i == 2 || i == 3 || i == 4) {
String specialization[] = {"BASIC SCIENCES", "INTELLIGENCE", "SOFTWER", "NETWORKS"};
String s = specialization[i - 1];
b.addItem(new Book(name_of_author, number_of_page, publish_hous, id, address, year_of_publiction, s));
}
} else if (item1.equals("project")) {
System.out.println("work_team:");
String work_team = cin.next();
System.out.println("year: '\nTHIRD,ENTER1\nFOURTH,ENTER2\nGRADUATION,ENTER3\n");
int i1 = cin.nextInt();
if (i1 == 1 || i1 == 2 || i1 == 3) {
String year[] = {"THIRD", "FOURTH", "GRADUATION"};
String year1 = year[i1 - 1];
System.out.println("enter id:");
int id1 = cin.nextInt();
System.out.println("enter address ");
String address1 = cin.next();
System.out.println("enter year_of_publiction:");
String year_of_publiction1 = cin.next();
System.out.println("enter specialization,'\nBASIC SCIENCES,ENTER 1\nINTELLIGENCE,ENTER2\nSOFTWER,ENTER3\nNETWORKS,ENTER 4\n' ");
int i = cin.nextInt();
if (i == 1 || i == 2 || i == 3 || i == 4) {
String specialization[] = {"BASIC SCIENCES", "INTELLIGENCE", "SOFTWER", "NETWORKS"};
String specialization1 = specialization[i - 1];
b.addItem(new Project(work_team, year1, id1, address1, year_of_publiction1, specialization1));
} else {
System.out.println("please check\n");
}
}
} else {
System.out.println("please check\n");
}
break;
case 4:
System.out.println("to enter query,enter:");
String query = cin.next();
for (Item item : b.searchItems(query)) {
item.printInfo();
}
break;
case 5:
System.out.println("To borrow a book ,entre name ");
String name = cin.next();
System.out.println(" and id item");
int id4 = cin.nextInt();
if (b.borrowIte(name, id4)) {
System.out.println("loan successfully compieted");
} else {
System.out.println("the loan was not successful");
}
break;
case 6:
System.out.println("To return the item");
System.out.println("to enter name of member");
String name2 = cin.next();
System.out.println("enter id:");
int id5 = cin.nextInt();
if (b.returnItem(name2, id5)) {
System.out.println("wlecom to library");
} else {
System.out.println("there is an erroe,please chechk");
}
break;
case 7:
for (Item item2 : b.displayThirdYearProject()) {
item2.printInfo();
}
break;
case 8:
b.displayMemberWhoBorrowartifecal();
break;
case 9:
b.getMembersWithOverdueItems();
break;
case 10:
for (Item item : b.getCurrentlyBorrowebook()) {
item.printInfo();
}
break;
case 11:
System.out.println(",entre specialization ");
String specialization4 = cin.next();
for (Item i : b.displaProject(specialization4)) {
i.printInfo();
}
break;
case 12:
System.out.println("name of member:");
String name1 = cin.next();
System.out.println(" number fo member :");
int id7 = cin.nextInt();
b.addmember(new Member(id7, name1));
break;
case 13:
System.out.println("startDate:");
System.out.println("enter year:");
int year = cin.nextInt();
System.out.println("enter month:");
int month = cin.nextInt();
System.out.println("enter day:");
int day = cin.nextInt();
System.out.println("\n******\n");
System.out.println("end Date:");
System.out.println("enter year:");
int year1 = cin.nextInt();
System.out.println("enter month:");
int month1 = cin.nextInt();
System.out.println("enter day:");
int day1 = cin.nextInt();
System.out.println("\n******\n");
System.out.println("enter item id :");
int id = cin.nextInt();
b.showMembersWhoBorrowedBookInPeriod(id, LocalDate.of(year, month, day), LocalDate.of(year1, month1, day1));
break;
case 14:
c = false;
break;
default:
i9 = true;
System.out.println("please restart there is an error");
}
}
cin.close();
}
}