الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال بخصوص استيراد الدالة Scanner

بدأه alQassam في 29 يناير 2011 · 5 رد · 1,076 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الأخوة الكرام

عندي استفسار بخصوص استيراد الدالة Scanner

import java.util.Scanner;
public class IfTest
{

  public static void main(String s[])
  {
   int x;
 Scanner Keyboard=new Scanner(System.in);

   System.out.println("Enter x Number ");
   x=Keyboard.nextInt();
    for (int a=3;a<=x;++a){
       System.out.println(a);}


  }
}

في هاذين السطرين

الشيء الذي لم افهم بهذا الكود هو

Scanner Keyboard=new Scanner(System.in);

System.out.print.....

x=Keyboard.nextInt();

for....

لماذا وضعت كلمة new بعد يساوي مافائدتها ؟؟؟

ولماذا وضعنا متغير جديد باسم x وما وظيفته ؟؟؟

وماذا تعني next وما وظيفتها ؟؟؟

لماذا وضع قوس فارغ بعد nextInt

عارف سألتكم كثير بس استحملوني

تم تعديل هذه المشاركة بواسطة alQassam في 29 يناير 2011 في 11:11

#2
اقتباس
لماذا وضعت كلمة new بعد يساوي مافائدتها ؟؟؟

كلمه new هي لانشاء object

وفي مثالك فهو ينشئ object من نوع Scanner

اقتباس

ولماذا وضعنا متغير جديد باسم x وما وظيفته ؟؟؟

انشئ المتغير لاسناد القيمه التي سيدخلها المستخدم

لاستخدامها لاحقا في الـ loop

اقتباس
وماذا تعني next وما وظيفتها ؟؟؟

لماذا وضع قوس فارغ بعد nextInt

nextInt

احدى دوال (method ) الجافا

استدعيناها بالـ object الذي انشئ سابقا بإسم keybord

وهو لاخذ الاعداد من الـ مستخدم

والاقواس لانها داله بدون اي parametar اي لا تأخذ قيم

مووفق ان شاء الله

تم تعديل هذه المشاركة بواسطة Don DaVinci في 29 يناير 2011 في 13:21

#3
اقتباس
كلمه new هي لانشاء object

وفي مثالك فهو ينشئ object من نوع Scanner

هذا يعني ان الـ object يموت بعد نهاية البرنامج صح؟؟

فهل كل انواع الاوبجكت هكذا ؟؟

---------------------------------------------------

هل هذا يعني أن الكود كأنه بهذا الشكل ?

Scanner =new Scanner(Keyboard);

System

؟

lمعلش اخوي لم افهم سبب تواجد nextInt

جزاك ربي الجنة أخوي

تم تعديل هذه المشاركة بواسطة alQassam في 29 يناير 2011 في 14:29

#4

ممكن تجاوبني اخوي

عندي سؤال آخر

على سبيل مثال

int x = 5

هل يمكن اعتبار x كائن للفئة int ؟؟؟

تم تعديل هذه المشاركة بواسطة alQassam في 30 يناير 2011 في 15:52

#5
اقتباس

هذا يعني ان الـ object يموت بعد نهاية البرنامج صح؟؟

فهل كل انواع الاوبجكت هكذا ؟؟

نعم اخي فـ الداله Scanner() هي عباره عن داله بناء ..

ويوجد في كل كلاس داله بناء وداله هدم .. ان لم يعرفها المبرمج فإنها تكون افتراضيه

---------------------------------------------------

هل هذا يعني أن الكود كأنه بهذا الشكل ?

اقتباس

Scanner =new Scanner(Keyboard);

System

غير صحيح فأنت عندما تعمل السطر اعلاه كأنك تعطي قيمه لداله البناء في كلاس الـ scanner

دعني اشرح لكَ عمل انشاء اللاوبجكت بالصورَ

Date birthDate=new Date();

مثلا لديك هذآ السطر لانشاء الاوبجكت

فإن عمله كـ الاتي

l13_mem_1.gif

الرسم اعلاه يمثل الجزء الاول من سطر الانشاء اي قبل عمليه المساواه

Date birthDate

هنا اولا ينشئ الاوبجكت .. وينتظر منه عنوان كائن من نوع داتآ

ثم نأتي للجزء الاخر بعد المسااوه

انظر للرسمه ادناه

l13_mem_2.gif

الرسمه تمثل الجزء الايسر من سطر الانشاء

حيث انه يحجز مكان ويضع فيه المتغيرات المعرفه في نفس الفـئه او الكلآس .. في عنوان معين

ثم عمليه المساواه تسند العنوان للقسمَ الاول من داله الانشاء

كما بالصوره ادناه

l13_mem_3.gif

اقتباس
lمعلش اخوي لم افهم سبب تواجد nextInt

هذه الداله ( method ) هي التي تسمح للمستخدم بادخال (الاعداد الصحيحه ) ..

وهناك دوال اخرى مثلا next() لادخال النصوص او nextDouble لادخال الاعداد الكسريه ..

اقتباس

int x = 5

هل يمكن اعتبار x كائن للفئة int ؟؟؟

الـ int تعتبر Primitive data type

فهي لا تنتمي لكلاس معين انما معرفه في اصل اللغه

و مووفق ان شاء الله :wink:

#6

جزاك الله خير يا ملك

كفيت ووفيت وزيادة

مواضيع مشابهة