Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

Javaالدالة hasNextLine() الموجودة في الكلاس Scanner في جافا

تعريفها

ترجع true في حال كان يوجد سطر تالي في كائن الـ Scanner.
تذكر: أن كل \n تعني إبدأ سطر جديد.



بناؤها

public boolean hasNextLine() 


باراميترات

ليس لها باراميتر.



قيمة الإرجاع

ترجع true في حال كان يوجد سطر تالي في كائن الـ Scanner.



أخطاء محتملة

IllegalStateException: في حال كان كائن الـ Scanner مغلقاً.



في المثال التالي أدخلنا سطر من البيانات في كونستركتور كائن الـ Scanner.
بعدها قمنا بإنشاء حلقة while, الهدف منها طباعة محتوى كائن الـ Scanner سطراً سطراً.
في كل دورة سيتم طباعة محتوى سطر كامل من الأسطر الموجودة في كائن الـ Scanner بواسطة الدالة nextLine().

مثال

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