Javaالدالة hasNext(Pattern pattern)
الموجودة في الكلاس Scanner
في جافا
تعريفها
ترجع true
في حال كان يوجد نص تالي في كائن الـ Scanner
قيمته تساوي قيمة نص الـ pattern
التي نمررها لها عند إستدعائها.
بناؤها
public boolean hasNext(Pattern pattern)
باراميترات
pattern
: هو كائن نوعه Pattern
يمثل النص الذي سيتم البحث عنه في كائن الـ Scanner
.
قيمة الإرجاع
ترجع true
في حال كان يوجد نص تالي في كائن الـ Scanner
قيمته تساوي قيمة نص الـ pattern
التي نمررها لها عند إستدعائها.
أخطاء محتملة
IllegalStateException: في حال كان كائن الـ Scanner
مغلقاً.
في المثال التالي أدخلنا سطر من البيانات في كونستركتور كائن الـ Scanner
.
بعدها قمنا باستدعاء الدالة hasNext()
ثلاث مرات, و كل مرة حاولنا البحث عن كلمة مختلفة.
مثال
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); // mple لأنه تم إيجاد كلمة تبدأ بحرفين يليهما true هنا سترجع hasNext() الدالة System.out.println("hasNext()? " + input.hasNext(Pattern.compile("..mple"))); // next() بواسطة دالة الإدخال input هنا قمنا بعرض الكلمة التالية الموجودة في الكائن System.out.println(input.next()); // يليه حرف at لأنه تم إيجاد كلمة تبدأ بحرف يليه true هنا سترجع hasNext() الدالة System.out.println("hasNext()? " + input.hasNext(Pattern.compile(".at."))); // next() بواسطة دالة الإدخال input هنا قمنا بعرض الكلمة التالية الموجودة في الكائن System.out.println(input.next()); // java لأنه لم يجد كلمة تبدأ بحرف يليه false هنا سترجع hasNext() الدالة System.out.println("hasNext()? " + input.hasNext(Pattern.compile(".java"))); // nextLine() بواسطة دالة الإدخال input هنا قمنا بعرض باقي البيانات الموجودة في نفس السطر في الكائن System.out.println(input.nextLine()); } }
سنحصل على النتيجة التالية عند التشغيل.
hasNext()? true Simple hasNext()? true math hasNext()? false operation: 2 + 3 = 5