كيف امنع المستخدم من كتابة الاحرف في الجافا

انظر هذا الكود

هذا عبارة عن برنامج يطلب من المستخدم ادخال مواليده مثل اذا ادخل رقم 2000 فسوف يعرض له عمرك هو 17 ولكن هنا سؤالي ماذا اذا ادخل المستخدم بدل 2000 حرف مثلا a فسوف تحدث اخطاء بالبرنامج فكيف اجبر المستخدم على ادخال الارقام فقط .

package TEXT;

import java.util.Calendar;

import java.util.Scanner;

import java.util.InputMismatchException;

public class Age {

static Scanner reader=new Scanner(System.in);
public static void main(String[] args) {
    System.out.print("Enter Your Bitarth:");
    int age=reader.nextInt();
    int year=Calendar.getInstance().get(Calendar.YEAR);
    int bitarth=year-age;
    System.out.println("Your age is " + (bitarth+1) + " Years");

}

}


سلاسل الأرقام والحروف

فكرة المشروع

برنامج يقوم بعرض مجموعة من سلاسل الأرقام والحروف للمستخدم، ثم يطلب من المستخدم توقع الرقم أو الحرف التالي في السلسلة.

متطلبات وتفاصيل المشروع

عند بداية تشغيل البرنامج، يقوم البرنامج بقراءة بيانات المستخدم وهي )اسم المستخدم، تاريخ ميلاده( ثم بعد ذلك يتم عرض الخيارات

التالية للمستخدم ويطلب منه الخيار:

1 -بدء لعبة جديدة

عند اختيار هذا الخيار )الخيار رقم 1 )يقوم البرنامج بشكل تلقائي بمعالجة سلسلة أرقام أو حروف ثم عرضها على console ثم يطلب

البرنامج من المستخدم تخمين الرقم التالي أو الحرف التالي في السلسلة وادخاله عبر console ،فإذا كان الرقم أو الحرف المدخل

صحيح يقوم البرنامج بطباعة جملة "ممتاز، إجابة صحيحة"، أما إذا كانت اجابته خاطئة يقوم البرنامج بطباعة جملة "إجابة خاطئة "،

وفي كلتا الحالتين تتم إعادة اظهار لغز جديد للمستخدم ليقوم بالإجابة عليه، حتى يقوم المستخدم بإدخال كلمة stop عندها يتوقف

البرنامج، هذه بعض الأمثلة:

1, 3, 5, 7, ?, 11, 13, 15, 17

What is the hidden number?

هذه القيمة التي سيدخلها المستخدم // 9

Excellent

5, 7, 11, 17, 25, 35, 47, ?, 67

What is the hidden number?

هذه القيمة التي سيدخلها المستخدم // 22

Oh, Wrong answer. The answer is 51

A, C, E, G, ? , K, M, O, Q

What is the hidden character?

هذه القيمة التي سيدخلها المستخدم // I

Excellent

ملاحظات

عملية معالجة سلسلة الأرقام ستكون بشكل كامل عشوائية وتلقائية، بمعنى أن رقم أو حرف البداية في كل سلسلة والفرق بين الرقم

او الحرف وما يليه ستكون أرقام وحروف عشوائية، كما أن العمليات نفسها ليست ثابتة فقد تكون عمليات جمع أو طرح أو باقي

قسمة، أو ضرب أو رفع للقوة.

كل إجابة صحيحة يجب عليها المستخدم يتم زيادة درجته بمقدار 2.

2 -عرض بيانات المستخدم

عند اختيار هذا الخيار يتم عرض بيانات المستخدم التي قام بإدخالها مسبقا )مع عرض عمر المستخدم وذلك بحسابه من خلال تاريخ

ميلاده( مع الدرجة التي حصل عليها خالل عملية اللعب.

3 -خروج

عند اختيار هذا الخيار يتم اغلاق البرنامج والخروج.

شو الكود الصحيح