تدريب عملي
التدريب العملي 18: قائمة طلاب الشعبة
قائمة ArrayList من كائنات Student: إضافة وحذف وبحث عن أعلى درجة وطباعة الناجحين.
من الدرس 14. القوائم الديناميكية ArrayList · كل التدريبات
١نص المسألة
أنشئ قائمة ArrayList من كائنات Student فيها ثلاثة طلاب، ثم اطبع عددهم، واحذف الطالب الثاني، وابحث عن صاحب أعلى درجة، واطبع أسماء الناجحين فقط.
٢الخوارزمية المقترحة
- استورد java.util.ArrayList.
- أنشئ القائمة list وأضف إليها ثلاثة طلاب بـ add.
- اطبع list.size().
- احذف العنصر في الموقع 1 بـ remove(1)، واطبع العدد الجديد.
- ابدأ top بأول طالب، ومرّ على القائمة: إذا وجدت درجة أعلى فاجعل top ذلك الطالب.
- مرّ على القائمة واطبع اسم كل طالب نتيجته Pass.
٣خطوات التطبيق
في NetBeans
- أنشئ مشروعًا باسم Lab18 والكلاس الرئيسي Main.
- أنشئ الكلاس Student (مثل التدريب 6).
- في Main أضف السطر import java.util.ArrayList; في الأعلى.
- اكتب الكود ونفّذه، ثم جرّب إضافة طالب رابع.
في OneCompiler
- افتح OneCompiler من زر «▶ شغّل المشروع» أسفل الحل، أو من موقع onecompiler.com/java.
- في OneCompiler تُكتب كل الكلاسات في ملف واحد Main.java؛ زر التشغيل يجمعها لك تلقائيًّا.
- إذا كان البرنامج يقرأ من لوحة المفاتيح، فاكتب المدخلات في خانة STDIN التي تظهر تحت الكود في محرّر OneCompiler، ثم اضغط Run.
٤المخرجات المطلوبة
نفّذ برنامجك، ويجب أن تظهر المخرجات التالية:
run:
عدد الطلاب: 3
بعد الحذف: 2
الأعلى: Fahad 92.0
Mohammed ناجح
Fahad ناجح
BUILD SUCCESSFUL (total time: 0 seconds)
٥الحل المقترح
حاول بنفسك أولًا، ثم قارن حلّك بالحل المقترح (كود التدريب من مذكرة العملي):
👁 اعرض الحل المقترح
package lab18; public class Student { int id; String name; double mark; public Student(int id, String name, double mark) { this.id = id; this.name = name; this.mark = mark; } String getResult() { if (mark >= 60) return "Pass"; else return "Fail"; }}
ملفات المشروع في تبويبات كما في NetBeans. زر التشغيل يجمعها في ملف واحد ليعمل على OneCompiler.
run:
عدد الطلاب: 3
بعد الحذف: 2
الأعلى: Fahad 92.0
Mohammed ناجح
Fahad ناجح
BUILD SUCCESSFUL (total time: 0 seconds)
أسئلة المناقشة
أسئلة مناقشة على التدريب 18. إجاباتك تُحفظ تلقائيًّا على هذا الجهاز؛ أجب ثم اضغط «صحّح ورقتي».
1السؤال الأول: اختر الإجابة الصحيحة
1) لماذا استخدمنا ArrayList بدل المصفوفة في هذا التدريب؟
2) ماذا يحذف السطر list.remove(1);؟
3) لماذا بدأنا المتغير top بالقيمة list.get(0)؟
4) ما عدد الطلاب بعد الحذف؟
5) ما السطر الذي يجب إضافته في أعلى الملف لاستخدام ArrayList؟
6) كيف نقرأ اسم الطالب الأول من القائمة؟
أجب عن الأسئلة ثم اضغط «صحّح ورقتي».