Java الدالة next(Pattern pattern) الموجودة في الكلاس Scanner في جافا

تعريفها

ترجع الكلمة التالية التي تم إدخالها في كائن الـ Scanner في حال كانت تتطابق مع الكائن الذي نمرره لها عند استدعائها مكان البارميتر pattern.



بناؤها

public String next(Pattern pattern)
	


باراميترات

pattern: هو كائن نوعه Pattern يمثل النص الذي سيتم البحث عنه في كائن الـ Scanner.



قيمة الإرجاع

ترجع الكلمة التالية التي تم إدخالها في كائن الـ Scanner و التي تتطابق مع كائن الـ Pattern الذي نمرره لها كـ Argument.



أخطاء محتملة

  • IllegalStateException: في حال كان كائن الـ Scanner مغلقاً.
  • NoSuchElementException: في حال قمت باستدعائها بعد أن تم إرجاع جميع الكلمات الموجودة في كائن الـ Scanner.


في المثال التالي أدخلنا سطر من البيانات في كونستركتور كائن الـ Scanner.
بعدها قمنا باستدعاء الدالة next() مرتين.

المثال الأول

Main.java
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 
		

في المثال التالي سيطلب البرنامج من المستخدم إدخال إسمه و إسم عائلته, بعدها سيقوم بعرض المعلومات التي قام بإدخلها.

المثال الثاني

Main.java
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 first name: Mohamad
Enter last name: Ali

----------- User Info ------------
First Name: Mohamad
Last Name: Ali

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة