Javaالدالة next(Pattern pattern)
الموجودة في الكلاس Scanner
في جافا
تعريفها
ترجع الكلمة التالية التي تم إدخالها في كائن الـ Scanner
في حال كانت تتطابق مع الكائن الذي نمرره لها عند استدعائها مكان البارميتر pattern
.
بناؤها
public String next(Pattern pattern)
باراميترات
pattern
: هو كائن نوعه Pattern
يمثل النص الذي سيتم البحث عنه في كائن الـ Scanner
.
قيمة الإرجاع
ترجع الكلمة التالية التي تم إدخالها في كائن الـ Scanner
و التي تتطابق مع كائن الـ Pattern
الذي نمرره لها كـ Argument.
أخطاء محتملة
- IllegalStateException: في حال كان كائن الـ
Scanner
مغلقاً. - NoSuchElementException: في حال قمت باستدعائها بعد أن تم إرجاع جميع الكلمات الموجودة في كائن الـ
Scanner
.
في المثال التالي أدخلنا سطر من البيانات في كونستركتور كائن الـ Scanner
.
بعدها قمنا باستدعاء الدالة next()
مرتين.
المثال الأول
import java.util.Scanner; // Scanner هنا قمنا باستدعاء الكلاس import java.util.regex.Pattern; // Pattern هنا قمنا باستدعاء الكلاس public class Main { public static void main(String[] args) { // Scanner هنا قمنا بإنشاء نص و الذي سندخله في كائن الـ String s = "Simple math operation: 2 + 3 = 5"; // // s و أدخلنا فيه مباشرةً النص الموجود في المتغير ,input إسمه Scanner هنا قمنا بإنشاء كائن من الكلاس Scanner input = new Scanner(s); // سيتم عرضها imple إذا كانت تبدأ بأي حرف,يليه input هنا سيتم فحص أول كلمة موجودة في الكائن System.out.println(input.next(Pattern.compile(".imple"))); // إذا كانت تتألف من 4 أحرف سيتم عرضها input هنا سيتم فحص ثاني كلمة موجودة في الكائن System.out.println(input.next(Pattern.compile("...."))); } }
سنحصل على النتيجة التالية عند التشغيل.
Simple math
في المثال التالي سيطلب البرنامج من المستخدم إدخال إسمه و إسم عائلته, بعدها سيقوم بعرض المعلومات التي قام بإدخلها.
المثال الثاني
import java.util.Scanner; // Scanner هنا قمنا باستدعاء الكلاس import java.util.regex.Pattern; // Pattern هنا قمنا باستدعاء الكلاس public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); // input إسمه Scanner هنا قمنا بإنشاء كائن من الكلاس String fname; // سنستخدم هذا المتغير لحفظ الإسم الذي سيدخله المستخدم String lname; // سنستخدم هذا المتغير لحفظ إسم العائلة الذي سيدخله المستخدم System.out.print("Enter first name: "); // هنا طلبنا من المستخدم إدخال إسمه fname = input.next(Pattern.compile("...*")); // بشرط أن تتألف من 3 حروف على الأقل fname هنا قمنا بإستقبال الكلمة التي سيدخلها المستخدم و تخزينها في المتغير System.out.print("Enter last name: "); // هنا طلبنا من المستخدم إدخال إسم عائلته lname = input.next(Pattern.compile("...")); // بشرط أن تتألف من 3 حروف فقط lname هنا قمنا بإستقبال الكلمة التي سيدخلها المستخدم و تخزينها في المتغير // في الأخير سيتم عرض جميع المعلومات التي أدخلها المستخدم System.out.println("\n----------- User Info ------------"); System.out.println("First Name: " +fname); System.out.println("Last Name: " +lname); } }
سنحصل على النتيجة التالية عند التشغيل إذا قمنا بإدخال نفس المعلومات التي أدخلناها عند تشغيل البرنامج.
قمنا بتعليم البيانات التي إنتظرنا البرنامج لإدخالها من لوحة المفاتيح باللون الأصفر.
Enter last name: Ali
----------- User Info ------------
First Name: Mohamad
Last Name: Ali