Javaالدالة hasNextLine() الموجودة في الكلاس Scanner في جافا
تعريفها
ترجع true في حال كان يوجد سطر تالي في كائن الـ Scanner.
تذكر: أن كل \n تعني إبدأ سطر جديد.
بناؤها
public boolean hasNextLine()
باراميترات
ليس لها باراميتر.
قيمة الإرجاع
ترجع true في حال كان يوجد سطر تالي في كائن الـ Scanner.
أخطاء محتملة
IllegalStateException: في حال كان كائن الـ Scanner مغلقاً.
في المثال التالي أدخلنا سطر من البيانات في كونستركتور كائن الـ Scanner.
بعدها قمنا بإنشاء حلقة while, الهدف منها طباعة محتوى كائن الـ Scanner سطراً سطراً.
في كل دورة سيتم طباعة محتوى سطر كامل من الأسطر الموجودة في كائن الـ Scanner بواسطة الدالة nextLine().
مثال
import java.util.Scanner; // Scanner هنا قمنا باستدعاء الكلاس public class Main { public static void main(String[] args) { // Scanner هنا قمنا بإنشاء نص و الذي سندخله في كائن الـ String s = " line 1 \n line 2 \n line 3"; // s و أدخلنا فيه مباشرةً النص الموجود في المتغير ,input إسمه Scanner هنا قمنا بإنشاء كائن من الكلاس Scanner input = new Scanner(s); while (input.hasNextLine()) { // int يمكن التعامل معها كـ input إذا كانت الكلمة التالية الموجودة في الكائن true سيتم طباعة System.out.println("hasNextLine()? " + input.hasNextLine()); // هنا في كل دورة سيتم طباعة الكلمة التي سيتم فحص نوعها System.out.println(input.nextLine()); } // input سيكون الرنامج قد مر على جميع الأسطار الموجودة في الكائن while لأنه بعد إنتهاء الحلقة false سيتم طباعة System.out.println("hasNextLine()? " + input.hasNextLine()); } }
سنحصل على النتيجة التالية عند التشغيل.
hasNextLine()? true line 1 hasNextLine()? true line 2 hasNextLine()? true line 3 hasNextLine()? false