Avatar ·

Scanner يتخطى nextLine() بعد nextInt() أو nextDouble(): как исправить?

مرحباً بالجميع! أنا مبتدئ في Java وواجهت مشكلة غريبة جداً عند العمل مع Scanner. أكتب برنامجاً بسيطاً لإدخال بيانات المستخدم: أولاً رقم (العمر)، ثم سلسلة نصية (الاسم). إليك الكود الخاص بي: ```java import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("أدخل العمر: "); int age = scanner.nextInt(); System.out.print("أدخل الاسم: "); String name = scanner.nextLine(); System.out.println("العمر: " + age + ", الاسم: " + name); } } ``` عند التشغيل، بعد إدخال العمر، يقوم البرنامج فوراً بطباعة "أدخل الاسم: " ويطبع النتيجة دون السماح بإدخال الاسم. أي أن المتغير name يصبح فارغاً أو يحتوي على سطر جديد. جربت تغيير الترتيب — أولاً nextLine() ثم nextInt() — فكان كل شيء يعمل. لكني أحتاج تحديداً إلى الرقم أولاً ثم السلسلة النصية. ما المشكلة؟ لماذا يتجاوز Scanner الأمر nextLine()؟ أنا