فهرس المقرر
تدريب عملي

التدريب العملي 7: الاستيراد من حزمة أخرى

الجزء الأول: قراءة اسم المستخدم بـ Scanner. الجزء الثاني: إنشاء حزمة package2 فيها Student و Course واستخدامهما من Main.

libraryjava.util Book.javaMain.java Scanner import java.util.Scanner;

من الدرس 4. الحزم Packages · كل التدريبات

١نص المسألة

اقرأ اسم المستخدم من لوحة المفاتيح باستخدام Scanner من الحزمة الجاهزة java.util. ثم أنشئ حزمة خاصة بك اسمها package2 فيها الكلاسان Student و Course، واستوردهما في Main واطبع اسم الطالب واسم المقرر.

٢الخوارزمية المقترحة

  1. استورد java.util.Scanner، واقرأ اسم المستخدم بـ nextLine() واطبعه.
  2. أنشئ الحزمة package2 وفيها Student (الخاصية name والدالة getName) و Course (الخاصية crsName والدالة getCrsName).
  3. في Main اكتب import package2.*; لاستيراد الكلاسين.
  4. أنشئ كائنًا من كل كلاس واطبع getName() و getCrsName().

٣خطوات التطبيق

في NetBeans

  1. أنشئ مشروعًا باسم Lab7 والكلاس الرئيسي lab7.Main، واكتب كود القراءة.
  2. انقر بالزر الأيمن على Source Packages‏ ← ‏New‏ ← ‏Java Package، واسمها package2.
  3. أنشئ داخلها الكلاسين Student و Course.
  4. في Main اكتب import package2.*; (أو استورد كل كلاس باسمه) ثم أنشئ كائنين منهما.

في OneCompiler

  1. افتح OneCompiler من زر «▶ شغّل المشروع» أسفل الحل، أو من موقع onecompiler.com/java.
  2. في OneCompiler تُكتب كل الكلاسات في ملف واحد Main.java؛ زر التشغيل يجمعها لك تلقائيًّا.
  3. إذا كان البرنامج يقرأ من لوحة المفاتيح، فاكتب المدخلات في خانة STDIN التي تظهر تحت الكود في محرّر OneCompiler، ثم اضغط Run.

٤المخرجات المطلوبة

نفّذ برنامجك، ويجب أن تظهر المخرجات التالية:

Output – (run)×
run:
Enter username
Username is: mct
Student name: Ali
course name: Computer Programming
BUILD SUCCESSFUL (total time: 0 seconds)

المدخلات المستخدمة: mct

٥الحل المقترح

حاول بنفسك أولًا، ثم قارن حلّك بالحل المقترح (كود التدريب من مذكرة العملي):

👁 اعرض الحل المقترح
package package2; public class Student {    String name = "Ali";     public String getName(){        return name;    }}
package package2; public class Course {    String crsName = "Computer Programming";     public String getCrsName(){        return crsName;    }}
package lab7;import java.util.Scanner;import package2.*;public class Main {     public static void main(String[] args) {        Scanner myObj = new Scanner(System.in);        System.out.println("Enter username");        String userName = myObj.nextLine();        System.out.println("Username is: " + userName);        //-----------------        Student std = new Student();        Course crs = new Course();         System.out.println("Student name: " + std.getName());        System.out.println("course name: " + crs.getCrsName());    }}
مخطط المشروع مستخرج من الكود. انقر على أي كلاس لفتح كوده.
StudentCourseMain
Student~ name : String+ getName() : StringCourse~ crsName : String+ getCrsName() : StringMain+ main(args : String[]) : void

ملفات المشروع في تبويبات كما في NetBeans. زر التشغيل يجمعها في ملف واحد ليعمل على OneCompiler.

Output – Lab7 (run)×
run:
Enter username
Username is: mct
Student name: Ali
course name: Computer Programming
BUILD SUCCESSFUL (total time: 0 seconds)

أسئلة المناقشة

أسئلة مناقشة على التدريب 7. إجاباتك تُحفظ تلقائيًّا على هذا الجهاز؛ أجب ثم اضغط «صحّح ورقتي».

1السؤال الأول: اختر الإجابة الصحيحة

1) لماذا نكتب عبارة
snippet
 import java.util.Scanner;
في بداية الكود؟
2) عند كتابة
snippet
 package package2;
في كلاس Student، ماذا يعني ذلك؟
3) لماذا كتبنا
snippet
 import package2.*;
في الكلاس Main؟
4) أي من التالي صحيح بخصوص الكود في الحزمة package2؟
5) ما الذي يحدث عند تنفيذ السطر
snippet
 Student std = new Student();
أجب عن الأسئلة ثم اضغط «صحّح ورقتي».