كيفية الحصول على مدخلات المستخدم في Java [مع أمثلة]

نشرت: 2021-05-27

جدول المحتويات

مقدمة

يعتبر أخذ إدخال المستخدم في Java هو الخطوة الأولى نحو إنشاء برنامج ناجح في Java. يجمع برنامج Java المدخلات من المستخدم من خلال مصادر الإدخال المختلفة مثل الماوس ولوحة المفاتيح وطلب الشبكة ووسائط CLI وما إلى ذلك. تحتوي Java أيضًا على حزم إدخال / إخراج متنوعة يمكن استيرادها إلى البرنامج لأداء عمليات الإدخال والإخراج. تدعم هذه الحزم إدخال الأنواع الأولية مثل مزدوج ، وعدد صحيح ، وسلاسل ، وما إلى ذلك.

ستركز هذه المقالة على طرق مثل Scanner و BufferedReader و InputStreamReader لأخذ مدخلات المستخدم في Java .

كيف تأخذ المدخلات في Java باستخدام فئة الماسح الضوئي؟

فئة الماسح الضوئي هي إحدى الطرق الموجودة في حزمة "java.util" التي تحلل وتعالج جميع مدخلات النوع البدائي. تطلب فئة الماسح الضوئي من المستخدم إدخال الإدخال ، ثم تطبع نفس الشيء على الشاشة أو وحدة التحكم. يمكنك استيراد فئة الماسح الضوئي من حزمة "java.util" في البرنامج وإنشاء كائن لاستخدام طرقه.

علي سبيل المثال،

اختبار الماسح = الماسح الجديد (System.in) ؛

في البيان أعلاه ، الاختبار هو اسم الكائن ، و System.in هو تدفق الإدخال. سيقوم مثيل الماسح الذي تم إنشاؤه بفحص إدخال المستخدم في Java .

ملاحظة: ليس من الضروري كتابة System.in كسلسلة إدخال في برنامجك. يمكنك استبداله بملف وملف للقراءة ، وسلسلة كتدفق الإدخال.

علي سبيل المثال،

اختبار الماسح = ماسح ضوئي جديد (FileInputStream جديد (“testFile.txt”) ، “UTF-8”) ؛

تأكد من كتابة الرمز {test.close ()} لإغلاق الماسح الضوئي عند الانتهاء من تحريره.

طرق الماسح لقراءة المدخلات من المستخدم

يسرد الجدول التالي الطرق التي يستخدمها الماسح لقراءة المدخلات في Java التي أدخلها المستخدم.

طريقة نوع الإرجاع وصف
التالي() سلسلة إرجاع الرمز المميز التالي من الماسح
nextByte () بايت يقرأ الإدخال التالي على هيئة بايت.
nextFloat () يطفو يقرأ الإدخال التالي كعائم.
nextInt () عدد صحيح يقرأ الإدخال التالي كعدد صحيح.
nextShort () قصيرة اقرأ الإدخال التالي باختصار.
nextLong () طويل اقرأ الإدخال التالي طويلاً.
nextBoolean () قيمة منطقية يقرأ الإدخال التالي على أنه منطقي ويعيد القيمة.
السطر التالي() سلسلة يقدم الماسح الضوئي سطرًا واحدًا ويعيد الإدخال الذي تم تخطيه.

مثال

يستخدم برنامج Java التالي فئة الماسح الضوئي لأخذ مدخلات المستخدم في Java (سلسلة وعدد صحيح وقائمة على قدميه).

استيراد java.util.Scanner ؛

فئة TakeUserInput

{

الرئيسية العامة الثابتة الفراغ (سلاسل سلسلة [])

{

الباحث أ ؛

تعويم ب

سلسلة ج ؛

اختبار الماسح = الماسح الجديد (System.in) ؛

// خذ إدخال المستخدم كسلسلة

System.out.println (“اكتب سلسلة:“)؛

ج = in.nextLine () ؛

System.out.println ("سلسلة إدخال المستخدم هي:" + c) ؛

// خذ إدخال المستخدم باعتباره عددًا صحيحًا

System.out.println (“اكتب عددًا صحيحًا:“)؛

أ = in.nextInt () ؛

System.out.println (“User Input Integer is:“ + a)؛

// خذ إدخال المستخدم كعائم

System.out.println (“اكتب رقمًا عائمًا:“)؛

ب = in.nextFloat () ؛

System.out.println (“رقم تعويم إدخال المستخدم هو:“ + b)؛

}}

انتاج |

اكتب سلسلة:

أندرو

سلسلة إدخال المستخدم هي: Andrew

اكتب عددًا صحيحًا:

03

عدد صحيح لمدخلات المستخدم هو: 03

اكتب رقمًا عائمًا:

61.46

رقم تعويم إدخال المستخدم هو: 61.46

إذا كنت تريد معرفة المزيد حول أخذ الإدخال في Java باستخدام فئة الماسح الضوئي ، فتحقق من إدخال السلاسل المتعددة في Java باستخدام مدونة الماسح الضوئي.

طريقتا BufferedReader و InputStreamReader

BufferedReader هي فئة أخرى في Java تقوم بمسح دفق الأحرف من دفق الإدخال المستند إلى الأحرف. InputStreamReader هي وظيفة في Java تقوم بتحويل دفق الإدخال إلى سلسلة من الأحرف ليقوم BufferedReader بفحصها. تقبل فئة BufferedReader InputStream كمعامل.

تستخدم فئة BufferedReader أساليب read () و readLine () لقراءة الأحرف والسطر التالي وإرجاعها.

يجب عليك استيراد حزمة java.io.BufferedReader لإنشاء فئة BufferedReader.

// ينشئ FileReader

اختبار FileReader = FileReader الجديد (ملف سلسلة) ؛

// ينشئ BufferedReader

BufferedReader a = new BufferedReader (test)؛

احصل على شهادات هندسة البرمجيات عبر الإنترنت من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.

طرق BufferedReader لقراءة المدخلات من المستخدم

يسرد الجدول التالي الطرق التي يستخدمها القارئ المخزن مؤقتًا لقراءة الإدخال في Java الذي أدخله المستخدم.

طريقة وصف
جاهز() يتحقق مما إذا كان قارئ الملف في حالة قراءة.
علامة() يحدد الموضع في القارئ المخزن الذي تمت قراءة البيانات إليه.
إعادة تعيين() إرجاع عنصر التحكم إلى النقطة التي تم فيها تعيين العلامة.

مثال

يستخدم برنامج Java التالي فئة BufferedReader جنبًا إلى جنب مع فئة InputStreamReader لأخذ مدخلات المستخدم في Java .

استيراد java.io.BufferedReader ؛

استيراد java.io.FileReader ؛

استيراد java.io.IOException ؛

اختبار الفصل العام {

العامة الثابتة الفراغ الرئيسي (سلسلة [] args) {

المخزن المؤقت BufferedReader = فارغ ؛

يحاول {

مسح السلسلة FirstLine ؛

المخزن المؤقت = BufferedReader الجديد (جديد FileReader (“D: \\ user_input.txt”)) ؛

بينما ((scanFirstLine = buffer.readLine ())! = خالية) {

System.out.println (scanFirstLine) ؛

}

} catch (IOException a) {

a.printStackTrace () ،

} أخيرا {

يحاول {

إذا (المخزن! = فارغ)

المخزن المؤقت إغلاق () ؛

} catch (IOException ب) {

b.printStackTrace () ،

}}}}

انتاج |

تم العثور على البيانات التالية في الملف:

هذه عبارة نموذجية يقرأها BufferedReader من الملف.

في المثال أعلاه ، أنشأنا قارئًا مؤقتًا باسم المخزن المؤقت. القارئ المخزن مرتبط بملف “user_input.txt”.

بعد ذلك ، استخدمنا طريقة readLine () لمسح الأحرف من المخزن المؤقت للقارئ المخزن.

خاتمة

في هذه المقالة ، قمنا بتغطية الطرق المستخدمة لأخذ مدخلات المستخدم في Java . لقد ناقشنا طرق الماسح الضوئي و BufferedReader بالإضافة إلى الأمثلة. لقد ناقشنا أيضًا الطرق التي تستخدمها فئة Scanner و BufferedReader لأخذ المدخلات في Java . نأمل أن يكون لديك فهم أساسي لكيفية التعامل مع الإدخال في Java . إذا كنت ترغب في تعلم المزيد من لغة برمجة Java ، فراجع برنامج upGrad's Executive PG في دورة Full Stack Development المصممة للمهنيين العاملين.

خطط لوظيفتك في تطوير البرمجيات الآن.

تقدم بطلب للحصول على شهادة PG المرتبطة بالوظيفة من upGrad في هندسة البرمجيات