كلاس Scanner
جزء من قسم الأساسيات في رحلة Java على Coddy. الدرس 35 من 73.
حتى الآن، خزّنا في المتغيرات القيم التي فكّرنا فيها. لا تعمل البرامج عادةً بهذه الطريقة. نتلقى القيم من مصدر خارجي، مثل المستخدم.
في Java، يتم الحصول على مدخلات المستخدم باستخدام الفئة Scanner. توفر هذه الفئة طرائق لقراءة أنواع مختلفة من المدخلات، مثل الأعداد الصحيحة والأعداد العشرية والسلاسل النصية.
لاستخدام الفئة Scanner، تحتاج أولًا إلى إنشاء مثيل منها وربطه بتدفق الإدخال القياسي System.in. إليك كيفية القيام بذلك:
Scanner scanner = new Scanner(System.in);بمجرد أن يصبح لديك كائن Scanner، يمكنك استخدام أساليبه لقراءة المُدخلات.
إليك بعض الطرق شائعة الاستخدام:
nextInt(): يقرأ عددًا صحيحًا.nextDouble(): يقرأ عددًا عشريًا.nextLine(): يقرأ سطرًا من النص (سلسلة نصية).
إليك مثالًا على كيفية الحصول على إدخال من المستخدم:
Scanner scanner = new Scanner(System.in);
System.out.print("Enter your age: ");
int age = scanner.nextInt();
System.out.println("Your age is: " + age);في هذا المثال، يطلب البرنامج من المستخدم إدخال عمره، ويقرأ العدد الصحيح باستخدام nextInt()، ثم يطبعه مرة أخرى في وحدة التحكم.
بعد أن تنتهي من استخدام Scanner، من الممارسات الجيدة إغلاقه باستخدام scanner.close() لتحرير الموارد المرتبطة به.
التحدي
مبتدئاكتب برنامجًا يحصل على مُدخل من المستخدم (اسمه)، ثم يطبع Hello, متبوعًا بالاسم الذي أدخله المستخدم.
على سبيل المثال، إذا أدخل المستخدم Bob، فسيكون الناتج المتوقع Enter your name: Hello, Bob.
ستحتاج إلى:
- إنشاء كائن
Scannerلقراءة المُدخلات. - مطالبة المستخدم بإدخال اسمه باستخدام النص التالي حرفيًا:
Enter your name:. اطبعه باستخدامSystem.out.print، وليسprintln، لكي تظهر التحية في السطر نفسه. - قراءة اسم المستخدم باستخدام طريقة
Scannerالمناسبة. - طباعة
Hello,والمتغير المخزَّن في النهاية.
جرّب بنفسك
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// أنشئ كائنًا من Scanner
Scanner scanner = new Scanner(System.in);
// اطلب من المستخدم إدخال اسمه
// اقرأ اسم المستخدم
// اطبع رسالة الترحيب
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)الزيادة والنقصانالزيادة والنقصان اللاحقةاختصارات العمليات الحسابيةمعاملات المقارنةمقارنة النصوص7أساسيات الإدخال والإخراج
دوال System.outتنسيق المخرجاتكلاس Scannerمراجعة - حتى 120مراجعة - صح أم خطأ5المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع3المتغيرات - الجزء الثاني
الثوابتقواعد التسميةمراجعة - تهيئة المتغيراتتحويل الأنواع - الجزء الأولتحويل الأنواع - الجزء الثاني6اتخاذ القرار
جملة Ifجملة If - Elseجملة Switchالمعامل الثلاثيمراجعة - If Elseجملة If - Else المتداخلةتدرّب بنفسك: مترجم Java عبر الإنترنت