تتحكم القائمة الرئيسية في القائمة الفرعية في كل مستوى ، وتدرك تنفيذ إضافة السجلات ، وإيجاد السجلات ، وحذف السجلات ، وتعديل السجلات ، والفرز ، والخروج من وظائف النظام. ما مجموعه ستة وحدات وظيفية.
يوضح الرسم البياني أعلاه وظائف كل وحدة ، ويستخدم أيضًا تعبيرات منتظمة لتحديد ما إذا كان المدخلات يتوافق مع القواعد. يعكس هذا النظام نمط تصميم MVC ، وتقسيم العمل واضح للغاية.
ويشمل بشكل أساسي الفئات التالية:
فئة التطبيق: فئة الوظيفة الرئيسية للبرنامج ، يبدأ الإدخال إلى البرنامج
فئة القائمة: إنها جميع التأثيرات المعروضة على صفحات بسيطة ، ولا يوجد تنفيذ وظائف.
Telnoteregex Class: التعبير العادي ، والذي يحدد ما إذا كان الإدخال مؤهلاً ، كل شيء في هذه الطريقة.
تشغيل الفصل: فئة منطق الأعمال ، يتم تركيز جميع الوظائف بشكل أساسي في هذه الفئة.
فئة الشخص: تغليف البيانات.
رمز التنفيذ المحدد:
رمز فئة التطبيق:
package com.bjsxt.iphone ؛ تطبيق الفئة العامة {public static void main (string [] args) {new app (). start () ؛ } public void start () {menu m = new menu () ؛ تشغيل o = جديد التشغيل () ؛ telnoteregex reg = new Telnoteregex () ؛ بينما (صحيح) {m.mainmenu () ؛ int key = reg.menuregex (1 ، 6) ؛ التبديل (المفتاح) {الحالة 1: O.AddLogic () ؛ استراحة؛ الحالة 2: O.SearchLogic () ؛ استراحة؛ الحالة 3: o.modifyLogicLogic () ؛ استراحة؛ الحالة 4: O.DeletElogic () ؛ استراحة؛ الحالة 5: O.OrderLogic () ؛ استراحة؛ الحالة 6: System.exit (0) ؛ استراحة؛ }}}}رمز التنفيذ المحدد لفئة الشخص:
package com.bjsxt.iphone ؛ public class person {private int id ؛ // معرف المستخدم سمة اسم السلسلة الخاصة ؛ // سمة اسم المستخدم سمة السلسلة الخاصة ؛ // سمة عصر المستخدم sex string sex ؛ // userense senderty private string private telnum ؛ // user string ، string number stated ، // user strup attured attribute public () {) this.id = id ؛ this.name = name ؛ this.age = العمر ؛ this.Sex = الجنس ؛ this.telnum = telnum ؛ this.address = العنوان ؛ } public int getId () {return id ؛ } public void setId (int id) {this.id = id ؛ } السلسلة العامة getName () {return name ؛ } public void setName (اسم السلسلة) {this.name = name ؛ } السلسلة العامة getage () {عودة العائد ؛ } public void setage (string age) {this.age = age ؛ } سلسلة عامة getSex () {return sex ؛ } public void setSex (سلسلة الجنس) {this.sex = sex ؛ } السلسلة العامة getTelnum () {return telnum ؛ } public void settelnum (سلسلة telnum) {this.telnum = telnum ؛ } السلسلة العامة getAddress () {return address ؛ } public void setAddress (عنوان السلسلة) {this.address = العنوان ؛ }}رمز محدد لفئة Telnoteregex:
package com.bjsxt.iphone ؛ import java.util.scanner ؛ public class telnoteregex {// تحقق من عناصر القائمة suppressWarnings ("Resource") public menuregex (int min ، int max) {String regex = "[0-9] {1}" ؛ الماسح الضوئي SC = ماسح ضوئي جديد (System.in) ؛ بينما (صواب) {string input = sc.nextline () ؛ // تحقق من الشرعية if (input.matches (regex)) {int key = integer.parseint (input) ؛ if (key> = min && key <= max) {return Key ؛ } آخر {system.out.println ("عنصر القائمة التي تم إدخالها لا تفي بالمتطلبات!") ؛ }} آخر {system.out.println ("محتوى الإدخال غير صحيح!") ؛ }}}} // التحقق من اسم إدخال المستخدم suppressWarnings ("Resource") السلسلة العامة nameregex (اسم السلسلة) {string pattern = "[// u4e00-// u9fa5]+" ؛ سلسلة str = الاسم ؛ الماسح الضوئي SC = ماسح ضوئي جديد (System.in) ؛ بينما (صحيح) {if (str.matches (pattern)) {return str ؛ } آخر {system.out.println ("أدخل الأحرف غير القانونية ، يرجى إعادة إدخال الأحرف الصينية") ؛ str = sc.nextline () ؛ يكمل؛ }}} // التحقق من عمر إدخال المستخدم suppressWarnings ("Resource") السلسلة العامة ageregex (string age) {string pattern = "^([0-9] | [0-9] {2} | 100) $" ؛ سلسلة str = العمر ؛ الماسح الضوئي SC = ماسح ضوئي جديد (System.in) ؛ بينما (صحيح) {if (str.matches (pattern)) {return str ؛ } آخر {system.out.println ("أدخل الأحرف غير القانونية ، يرجى إعادة إدخال الأرقام") ؛ str = sc.nextline () ؛ يكمل؛ }}} // التحقق من جنس المستخدم suppressWarnings ("Resource") السلسلة العامة sexregex (سلسلة الجنس) {String pattern = "[men and female mmff]" ؛ سلسلة str = الجنس ؛ الماسح الضوئي SC = ماسح ضوئي جديد (System.in) ؛ بينما (صحيح) {if (str.matches (pattern)) {return str ؛ } آخر {system.out.println ("أدخل شخصيات غير قانونية ، يرجى إعادة إدخال الذكور والإناث mmff") ؛ str = sc.nextline () ؛ يكمل؛ }}} // التحقق من رقم هاتف إدخال المستخدم suppressWarnings ("Resource") السلسلة العامة telnumregex (سلسلة telnum) {String pattern = "[0-9] {11}" ؛ سلسلة str = telnum ؛ الماسح الضوئي SC = ماسح ضوئي جديد (System.in) ؛ بينما (صحيح) {if (str.matches (pattern)) {return str ؛ } آخر {system.out.println ("إدخال الأحرف غير القانونية ، يرجى إعادة إدخال رقم الهاتف المحمول المكون من 11 رقمًا") ؛ str = sc.nextline () ؛ يكمل؛ }}}} // التحقق من عنوان إدخال المستخدم suppressWarnings ("Resource") السلسلة العامة على سبيل المثال (عنوان السلسلة) {String pattern = "[A-ZA-Z [0-9]] {1،15}" ؛ سلسلة str = العنوان ؛ الماسح الضوئي SC = ماسح ضوئي جديد (System.in) ؛ بينما (صحيح) {if (str.matches (pattern)) {return str ؛ } آخر {system.out.println ("إدخال الأحرف غير القانونية ، يرجى إعادة إدخال 1 إلى 15 حالة أو أرقام إنجليزية") ؛ str = sc.nextline () ؛ يكمل؛ }}}}تنفيذ محدد لرمز فئة القائمة:
package com.bjsxt.iphone ؛ قائمة الفئة العامة {// الواجهة الرئيسية public void mainmenu () {system.out.println ("***************************") ؛ System.out.println ("** 1 إضافة سجل **") ؛ System.out.println ("** 2 Find Record **") ؛ System.out.println ("** 3 تعديل السجل **") ؛ System.out.println ("** 4 DELETE RECORD **") ؛ System.out.println ("** 5 Sort Records **") ؛ System.out.println ("** 6 exit the System **") ؛ System.out.println ("***************************") ؛ } // إضافة واجهة public void addmenu () {system.out.println ("*********************") ؛ System.out.println ("** 1 أضف سجلًا جديدًا **") ؛ System.out.println ("** 2 عرض جميع السجلات **") ؛ System.out.println ("** 3 العودة إلى المستوى السابق **") ؛ System.out.println ("************************") ؛ }. System.out.println ("** 1 Search by name") ؛ System.out.println ("** 2 Search by Age") ؛ System.out.println ("** 3 Search by Byusty") ؛ System.out.println ("** 4 Search by number") ؛ System.out.println ("** 5. انقر على العنوان للعثور على **") ؛ System.out.println ("** 6. عرض السجلات الكاملة **") ؛ System.out.println ("** 7. العودة إلى المستوى السابق **") ؛ System.out.println ("************************") ؛ }. System.out.println ("** 1. عرض السجلات الكاملة **") ؛ System.out.println ("** 2 تعديل السجل المحدد **") ؛ System.out.println ("** 3 العودة إلى المستوى السابق **") ؛ System.out.println ("************************") ؛ }. System.out.println ("** 1 تعديل الاسم **") ؛ System.out.println ("** 2 تعديل العمر **") ؛ System.out.println ("** 3 تعديل الجنس **") ؛ System.out.println ("** 4 تعديل الرقم **") ؛ System.out.println ("** 5 تعديل العنوان **") ؛ System.out.println ("** 6 العودة إلى المستوى السابق **") ؛ System.out.println ("************************") ؛ }. System.out.println ("** 1 عرض جميع السجلات **") ؛ System.out.println ("** 2 حذف السجلات المحددة **") ؛ System.out.println ("** 3 حذف جميع السجلات **") ؛ System.out.println ("** 4 العودة إلى المستوى السابق **") ؛ System.out.println ("***************************") ؛ } // فرز واجهة public void ordermenu () {system.out.println ("*************************") ؛ System.out.println ("** 1 sort by name **") ؛ System.out.println ("** 2 sort by Age **") ؛ System.out.println ("** 3 sort by الجنس **") ؛ System.out.println ("** 4 عرض جميع السجلات **") ؛ System.out.println ("** 5 return to level **") ؛ System.out.println ("************************") ؛ }}تنفيذ محدد لفئة التشغيل:
package com.bjsxt.iphone ؛ import java.util.arraylist ؛ import java.util.collections ؛ import java.util.comparator ؛ import java.util.iterator ؛ import java.util.list ؛ import java.util.scanner ؛ public class تعمل {قائمة خاصة <person> // user user adfort information business logction control public void addlogic () {menu m = new menu () ؛ telnoteregex reg = new Telnoteregex () ؛ بينما (صحيح) {m.addmenu () ؛ int key = reg.menuregex (1 ، 3) ؛ التبديل (المفتاح) {الحالة 1: addOperation () ؛ استراحة؛ الحالة 2: Showall () ؛ استراحة؛ الحالة 3: العودة ؛ }}} // معلومات استعلام المستخدم للمنطق العمل المنطقي العام للبحث الفراغ العام () {menu m = new menu () ؛ telnoteregex reg = new Telnoteregex () ؛ بينما (صحيح) {m.searchMenu () ؛ int key = reg.menuregex (1 ، 7) ؛ التبديل (المفتاح) {الحالة 1: SearchByName () ؛ استراحة؛ الحالة 2: SearchByage () ؛ استراحة؛ الحالة 3: searchbysex () ؛ استراحة؛ الحالة 4: searchbytelnum () ؛ استراحة؛ الحالة 5: SearchByadd () ؛ استراحة؛ الحالة 6: Showall () ؛ استراحة؛ الحالة 7: العودة ؛ }}} // تعديل المعلومات المنطقية التجارية للمنطق العام void modifyLogicLogic () {menu m = new menu () ؛ telnoteregex reg = new Telnoteregex () ؛ بينما (صحيح) {m.modifyMenu () ؛ int key = reg.menuregex (1 ، 3) ؛ التبديل (المفتاح) {الحالة 1: showall () ؛ استراحة؛ الحالة 2: modifyLogicLogic1 () ؛ استراحة؛ الحالة 3: العودة ؛ }}} // تعديل ثلاث طبقات من القفزات العامة الفراغ العام modifyLogicLogic1 () {menu m = new menu () ؛ telnoteregex reg = new Telnoteregex () ؛ بينما (صحيح) {m.submodifyMenu () ؛ int key = reg.menuregex (1 ، 6) ؛ التبديل (المفتاح) {الحالة 1: nameModify () ؛ استراحة؛ الحالة 2: entaDify () ؛ استراحة؛ الحالة 3: sexmodify () ؛ استراحة؛ الحالة 4: telnummodify () ؛ استراحة؛ الحالة 5: addressModify () ؛ استراحة؛ الحالة 6: العودة ؛ }}} // حذف المعلومات المنطقية التجارية للمنطق العام deletelogic () {menu m = new menu () ؛ telnoteregex reg = new Telnoteregex () ؛ بينما (صحيح) {m.deletemenu () ؛ int key = reg.menuregex (1 ، 4) ؛ التبديل (المفتاح) {الحالة 1: showall () ؛ استراحة؛ الحالة 2: حذف () ؛ استراحة؛ الحالة 3: DELETEALL () ؛ استراحة؛ الحالة 4: العودة ؛ }}} // فرز المعلومات المنطق للمنطق التجاري الفراغ العام orderlogic () {menu m = new menu () ؛ telnoteregex reg = new Telnoteregex () ؛ بينما (صحيح) {m.orderMenu () ؛ int key = reg.menuregex (1 ، 5) ؛ التبديل (المفتاح) {الحالة 1: OrderName () ؛ استراحة؛ الحالة 2: orderage () ؛ استراحة؛ الحالة 3: ordersex () ؛ استراحة؛ الحالة 4: Showall () ؛ استراحة؛ الحالة 5: العودة ؛ }}} // إضافة معلومات مستخدم جديدة suppressWarnings ("Resource") public void addoperation () {telnoteregex reg = new telnoteregex () ؛ الماسح الضوئي SC = ماسح ضوئي جديد (System.in) ؛ System.out.println ("الرجاء إدخال معرف الاتصال:") ؛ معرف السلسلة = sc.nextline () ؛ System.out.println ("الرجاء إدخال الاسم المراد إضافته:") ؛ اسم السلسلة = sc.nextline () ؛ name = reg.nnnnedgex (name) ؛ System.out.println ("الرجاء إدخال العمر المراد إضافته:") ؛ العمر العمر = sc.nextline () ؛ العمر = reg.ageregex (العمر) ؛ System.out.println ("الرجاء إدخال الجنس الذي تريد إضافته:") ؛ سلسلة الجنس = sc.nextline () ؛ الجنس = reg.sexregex (الجنس) ؛ System.out.println ("الرجاء إدخال رقم الهاتف المحمول الذي تريد إضافته:") ؛ سلسلة telnum = sc.nextline () ؛ telnum = reg.telnumregex (telnum) ؛ System.out.println ("الرجاء إدخال العنوان الذي تريد إضافته:") ؛ عنوان السلسلة = sc.nextline () ؛ العنوان = reg.addressRegex (العنوان) ؛ int personId = integer.parseint (id) ؛ الشخص p = شخص جديد (شخصيا ، الاسم ، العمر ، الجنس ، telnum ، العنوان) ؛ list.add (p) ؛ } // // // judge ما إذا كان الرقم التسلسلي موجودًا بالفعل وفشل الإدراج بنجاح //suppressWarnings ("Resource") // public string judgeid (string id) {// scanner sc = new scanner (system.in) ؛ p = (person) it.next () ؛ // if (newId.equals (p.getId ())) {// system.out.println ("هذا الرقم التسلسلي موجود بالفعل ، يرجى إعادة إدخال الرقم التسلسلي") ؛ // newid = sc.nextline () ؛ // متابعة ؛ معلومات المستخدم public void showall () {system.out.println ("الرقم التسلسلي/t/t"+"name/t/t"+"Age/t"+"الجنس/T/T"+"رقم الهاتف المحمول/T"+"العنوان") ؛ iterator <Person> it = list.iterator () ؛ بينما (it.hasnext ()) {person p = (person) it.next () ؛ System.out.println (p.getId ()+"#"+"/t/t"+p.getName ()+"/t/t"+p.getage ()+"/t/t"+p.getSex ()+"/t/t"+p.gettelnum ()+"/t/t"+p.getaddress ()) ؛ }} // معلومات المستخدم عن طريق الاسم suppressWarnings ("Resource") public void searchbyname () {telnoteregex reg = new telnoteregex () ؛ System.out.println ("أدخل الاسم الذي تريد الاستعلام عنه:") ؛ الماسح الضوئي SC = ماسح ضوئي جديد (System.in) ؛ اسم السلسلة = sc.nextline () ؛ name = reg.nnnnedgex (name) ؛ iterator <Person> it = list.iterator () ؛ بينما (it.hasnext ()) {person p = (person) it.next () ؛ if (name.equals (p.getName ())) {system.out.println (p.getId ()+"#"+"/t/t"+p.getName ()+"/t/t"+p.getage ()+"/t/t"+p.getSex ()+"/t/t }}} // معلومات المستخدم عن طريق AgeSuppressWarnings ("Resource") public void searchbyage () {telnoteregex reg = new Telnoteregex () ؛ System.out.println ("أدخل العمر الذي تريد الاستعلام عنه:") ؛ الماسح الضوئي SC = ماسح ضوئي جديد (System.in) ؛ العمر العمر = sc.nextline () ؛ العمر = reg.ageregex (العمر) ؛ iterator <Person> it = list.iterator () ؛ بينما (it.hasnext ()) {person p = (person) it.next () ؛ if (Age.equals (p.getage ())) {system.out.println (p.getId ()+"#"+"/t/t"+p.getName ()+"/t/t"+p.getage ()+"/t/t"+p.getsex ()+"/t/t }}} // معلومات مستخدم الاستعلام عن طريق الجنس suppressWarnings ("Resource") public void searchbysex () {telnoteregex reg = new Telnoteregex () ؛ System.out.println ("أدخل الجنس الذي تريد الاستعلام عنه:") ؛ الماسح الضوئي SC = ماسح ضوئي جديد (System.in) ؛ سلسلة الجنس = sc.nextline () ؛ الجنس = reg.sexregex (الجنس) ؛ iterator <Person> it = list.iterator () ؛ بينما (it.hasnext ()) {person p = (person) it.next () ؛ if (sex.equals (p.getSex ())) {system.out.println (p.getId ()+"#"+"/t/t"+p.getName ()+"/t/t"+p.getage ()+"/t/t"+p.getsex ()+"/t/t }}} // System.out.println ("أدخل رقم الهاتف الذي تريد الاستعلام عنه:") ؛ الماسح الضوئي SC = ماسح ضوئي جديد (System.in) ؛ سلسلة telnum = sc.nextline () ؛ telnum = reg.telnumregex (telnum) ؛ iterator <Person> it = list.iterator () ؛ بينما (it.hasnext ()) {person p = (person) it.next () ؛ if (telnum.equals (p.gettelnum ())) {system.out.println (p.getId ()+"#"+"/t/t"+p.getName ()+"/t/t"+p.getage ()+"/t"+p.getSex ()+"/t/t"+p.gettelnum ()+"/t" }}} // تحقق من معلومات المستخدم عن طريق @suppresswarnings ("Resource") public void searchbyadd () {telnoteregex reg = new Telnoteregex () ؛ System.out.println ("أدخل العنوان الذي تريد الاستعلام عنه:") ؛ الماسح الضوئي SC = ماسح ضوئي جديد (System.in) ؛ عنوان السلسلة = sc.nextline () ؛ العنوان = reg.addressRegex (العنوان) ؛ iterator <Person> it = list.iterator () ؛ بينما (it.hasnext ()) {person p = (person) it.next () ؛ if (address.equals (p.getAddress ())) {system.out.println (p.getId ()+"#"+"/t/t"+p.getName ()+"/t/t"+p.getage ()+"/t/t"+p.getSex ()+"/t/t"+p.gettelnum ()/t/t "+t" }}} // // تعديل معلومات السجل المحددة // modify void public modify () {// system.out.println ("الرجاء إدخال المعلومات التي تريد تعديلها: System.out.println ("الرجاء إدخال الرقم التسلسلي الذي تريد تعديله:") ؛ الماسح الضوئي SC = ماسح ضوئي جديد (System.in) ؛ سلسلة num = sc.nextline () ؛ int id = integer.parseint (num) ؛ System.out.println ("الرجاء إدخال الاسم الذي تريد تعديله:") ؛ اسم السلسلة = sc.nextline () ؛ name = reg.nnnnedgex (name) ؛ iterator <Person> it = list.iterator () ؛ بينما (it.hasnext ()) {person p = (person) it.next () ؛ if (id == p.getId ()) {p.setName (name) ؛ System.out.println (p.getId ()+"#"+"/t/t"+p.getName ()+"/t/t"+p.getage ()+"/t/t"+p.getSex ()+"/t/t"+p.gettelnum ()+"/t/t"+p.getaddress ()) ؛ } آخر {system.out.println ("فشل التعديل ، يرجى المحاولة مرة أخرى!") ؛ }}} // تعديل enformation @suppressWarnings ("Resource") public void attensed () {telnoteregex reg = new telnoteregex () ؛ System.out.println ("الرجاء إدخال الرقم التسلسلي الذي تريد تعديله:") ؛ الماسح الضوئي SC = ماسح ضوئي جديد (System.in) ؛ سلسلة num = sc.nextline () ؛ int id = integer.parseint (num) ؛ System.out.println ("الرجاء إدخال العمر الذي تريد تعديله:") ؛ العمر العمر = sc.nextline () ؛ العمر = reg.ageregex (العمر) ؛ iterator <Person> it = list.iterator () ؛ بينما (it.hasnext ()) {person p = (person) it.next () ؛ if (id == p.getId ()) {p.setage (age) ؛ System.out.println (p.getId ()+"#"+"/t/t"+p.getName ()+"/t/t"+p.getage ()+"/t/t"+p.getSex ()+"/t/t"+p.gettelnum ()+"/t/t"+p.getaddress ()) ؛ } آخر {system.out.println ("فشل التعديل ، يرجى المحاولة مرة أخرى!") ؛ }}} // تعديل معلومات الجنس @suppressWarnings ("Resource") public void sexmodify () {telnoteregex reg = new telnoteregex () ؛ System.out.println ("الرجاء إدخال الرقم التسلسلي الذي تريد تعديله:") ؛ الماسح الضوئي SC = ماسح ضوئي جديد (System.in) ؛ سلسلة num = sc.nextline () ؛ int id = integer.parseint (num) ؛ System.out.println ("الرجاء إدخال الجنس الذي تريد تعديله:") ؛ سلسلة الجنس = sc.nextline () ؛ الجنس = reg.sexregex (الجنس) ؛ iterator <Person> it = list.iterator () ؛ بينما (it.hasnext ()) {person p = (person) it.next () ؛ if (id == p.getId ()) {p.setSex (sex) ؛ System.out.println (p.getId ()+"#"+"/t/t"+p.getName ()+"/t/t"+p.getage ()+"/t/t"+p.getSex ()+"/t/t"+p.gettelnum ()+"/t/t"+p.getaddress ()) ؛ } آخر {system.out.println ("فشل التعديل ، يرجى المحاولة مرة أخرى!") ؛ }}} // تعديل معلومات الرقم suppressWarnings ("Resource") public void telnummodify () {system.out.println ("الرجاء إدخال الرقم التسلسلي الذي تريد تعديله:") ؛ الماسح الضوئي SC = ماسح ضوئي جديد (System.in) ؛ سلسلة num = sc.nextline () ؛ int id = integer.parseint (num) ؛ System.out.println ("الرجاء إدخال رقم الهاتف الذي تريد تعديله:") ؛ سلسلة telnum = sc.nextline () ؛ iterator <Person> it = list.iterator () ؛ بينما (it.hasnext ()) {person p = (person) it.next () ؛ if (id == p.getId ()) {p.settelnum (telnum) ؛ System.out.println (p.getId ()+"#"+"/t/t"+p.getName ()+"/t/t"+p.getage ()+"/t/t"+p.getSex ()+"/t/t"+p.gettelnum ()+"/t/t"+p.getaddress ()) ؛ } آخر {system.out.println ("فشل التعديل ، يرجى المحاولة مرة أخرى!") ؛ }}} // تعديل معلومات العنوان @suppressWarnings ("Resource") public void addressModify () {telnoteregex reg = new telnoteregex () ؛ System.out.println ("الرجاء إدخال الرقم التسلسلي الذي تريد تعديله:") ؛ الماسح الضوئي SC = ماسح ضوئي جديد (System.in) ؛ سلسلة num = sc.nextline () ؛ int id = integer.parseint (num) ؛ System.out.println ("الرجاء إدخال العنوان الذي تريد تعديله:") ؛ عنوان السلسلة = sc.nextline () ؛ العنوان = reg.addressRegex (العنوان) ؛ iterator <Person> it = list.iterator () ؛ بينما (it.hasnext ()) {person p = (person) it.next () ؛ if (id == p.getId ()) {p.setAddress (address) ؛ System.out.println (p.getId ()+"#"+"/t/t"+p.getName ()+"/t/t"+p.getage ()+"/t/t"+p.getSex ()+"/t/t"+p.gettelnum ()+"/t/t"+p.getaddress ()) ؛ } آخر {system.out.println ("فشل التعديل ، يرجى المحاولة مرة أخرى!") ؛ }}} // حذف معلومات المستخدم المحددة suppressWarnings ("Resource") public void delete () {system.out.println ("الرجاء إدخال المعرف الذي تريد حذفه:") ؛ الماسح الضوئي SC = ماسح ضوئي جديد (System.in) ؛ سلسلة num = sc.nextline () ؛ int id = integer.parseint (num) ؛ iterator <Person> it = list.iterator () ؛ بينما (it.hasnext ()) {person p = (person) it.next () ؛ if (id == p.getId ()) {list.remove (id) ؛ System.out.println ("حذف النجاح") ؛ } آخر {system.out.println ("delete fans") ؛ }}} // حذف جميع معلومات المستخدم public void deleteall () {list.clear () ؛ System.out.println ("Delete بنجاح") ؛ } // فرز المعلومات حسب اسم المستخدم public void ordername () {Comparator <Person> comparator = new Cookator <Pirmon> () {Override public int (person o1 ، person o2) {return o1.getName (). compareto (o2.getName ()) ؛ }} ؛ collections.sort (قائمة ، المقارنة) ؛ Showall () ؛ } // فرز المعلومات حسب عصر المستخدم public void orderage () {comparator <Person> comparator = New Propert <Phone> () {Override public int (person o1 ، person o2) {return o1.getage (). compareto (o2.getage ()) ؛ }} ؛ collections.sort (قائمة ، المقارنة) ؛ Showall () ؛ }. }} ؛ collections.sort (قائمة ، المقارنة) ؛ Showall () ؛ }}ملخص: جعلني هذا المشروع واضحًا جدًا حول ماهية الكائنات الموجه ولماذا Java هي لغة برمجة موجهة نحو الكائن. يتم استدعاء رمز البرنامج من قبل الكائنات ، وفهمت أيضًا كيف ينبغي كتابة المشروع بوضوح. يجب فصل الوظائف ووجهات النظر. كل فئة لها وظائف خاصة بها. لا ينبغي إلغاء تثبيت وظائف كل فئة معًا. هذه الرموز لا يمكن إعادة استخدامها بشكل أساسي. إذا تم فصلها وتوضيحها ، عند إضافة وحدات وظيفية في المستقبل ، يجب إضافة الوظائف فقط دون تعديل الكود السابق. هذا يعكس بئر مبدأ الفتح والإغلاق. لتطوير الوظائف وتعديل محتوى ، يعكس هذا المشروع أيضًا نمط تصميم MVC. بالنسبة لي ، استفاد هذا المشروع كثيرًا.