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