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