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()؟ أنا