🎯 مدخلات المستخدم في جافا: كيف تجعل برامجك تفاعلية؟ 🤔
في عالم البرمجة، لا تكون التطبيقات مفيدة حقاً إلا إذا استطاعت التفاعل مع المستخدم! اليوم سنتعلم كيفية أخذ مدخلات من المستخدم في جافا، مما سيمكنك من إنشاء برامج تفاعلية حقيقية.
📦 استيراد واستخدام فئة Scanner
لأخذ مدخلات المستخدم في جافا، نستخدم فئة Scanner الموجودة في الحزمة java.util. أولاً، نحتاج إلى استيرادها وإنشاء كائن منها:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
}
}
الكلمة System.in تعني أننا نريد أخذ المدخلات من لوحة المفاتيح (الإدخال القياسي).
⌨️ قراءة أنواع البيانات المختلفة
يحتوي كائن Scanner على عدة طرق لأخذ أنواع مختلفة من المدخلات:
قراءة النصوص:
System.out.print("أدخل اسمك: ");
String name = input.nextLine();
System.out.println("مرحباً " + name + "!");
قراءة الأرقام الصحيحة:
System.out.print("أدخل عمرك: ");
int age = input.nextInt();
System.out.println("عمرك هو: " + age);
قراءة الأرقام العشرية:
System.out.print("أدخل طولك: ");
double height = input.nextDouble();
System.out.println("طولك هو: " + height + " متر");
⚠️ الانتباه لمشكلة nextLine() بعد nextInt()
هناك مشكلة شائعة يجب أن تنتبه لها: عند استخدام nextInt() أو nextDouble() ثم nextLine()، قد لا يعمل البرنامج كما تتوقع:
System.out.print("أدخل عمرك: ");
int age = input.nextInt(); // المستخدم يدخل 25 ثم يضغط Enter
System.out.print("أدخل اسمك: ");
String name = input.nextLine(); // هذه السطر قد لا يعمل!
الحل: أضف input.nextLine() إضافية لامتصاص Enter الزائد:
System.out.print("أدخل عمرك: ");
int age = input.nextInt();
input.nextLine(); // هذه السطر تحل المشكلة
System.out.print("أدخل اسمك: ");
String name = input.nextLine();
🎮 مثال عملي متكامل
لنطبق ما تعلمناه في برنامج بسيط يجمع المعلومات الشخصية:
import java.util.Scanner;
public class UserInfo {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("🐱💻 برنامج جمع المعلومات الشخصية");
System.out.println("==============================");
System.out.print("🔹 أدخل اسمك: ");
String name = input.nextLine();
System.out.print("🔹 أدخل عمرك: ");
int age = input.nextInt();
input.nextLine(); // حل مشكلة Enter
System.out.print("🔹 أدبل طولك (بالأمتار): ");
double height = input.nextDouble();
input.nextLine(); // حل مشكلة Enter
System.out.print("🔹 أدخل مدينتك: ");
String city = input.nextLine();
System.out.println("\n🎉 شكراً لك " + name + "!");
System.out.println("📊 معلوماتك:");
System.out.println("العمر: " + age + " سنة");
System.out.println("الطول: " + height + " متر");
System.out.println("المدينة: " + city);
}
}
💡 نصائح مهمة للمبتدئين
- تأكد من استيراد
java.util.Scannerفي بداية ملفك - استخدم رسائل توضيحية تخبر المستخدم بما يجب إدخاله
- جرب البرنامج بنفسك وأدخل قيم مختلفة لترى كيف يعمل
- لا تنسى
input.nextLine()الإضافية بعدnextInt()أوnextDouble()
🎓 اختبر نفسك
التعليقات
شاركنا رأيك أو أسئلتك حول هذا المقال