Javaالدالة hasNextInt(int radix)
الموجودة في الكلاس Scanner
في جافا
تعريفها
ترجع true
في حال كان يوجد قيمة تالية في كائن الـ Scanner
يمكن التعامل معها كـ int
و تتطابق مع القيمة التي نمررها لها مكان الباراميتر radix
.
بناؤها
public boolean hasNextInt(int radix)
باراميترات
الـ radix
هو int
يستخدم هنا لمعرفة إذا كانت قيمة الكلمة التي نفحصها تمثل قيمة binary - octal - decimal - hexadecimal.
الـradix
يمكن أن يكون 2 - 8 - 10 - 16 بالترتيب كما فوق.
قيمة الإرجاع
ترجع true
في حال كان يوجد قيمة تالية في كائن الـ Scanner
يمكن التعامل معها كـ int
و تتطابق مع القيمة التي نمررها لها مكان الباراميتر radix
.
أخطاء محتملة
IllegalStateException: في حال كان كائن الـ Scanner
مغلقاً.
في المثال التالي أدخلنا سطر من البيانات في كونستركتور كائن الـ Scanner
.
بعدها قمنا بإنشاء حلقة while
تمر على كل كلمة موجودة في كائن الـ Scanner
من خلال الدالة hasNext()
.
كل كلمة نمر عليها سيتم إستدعاء الدالة hasNextInt(2)
عليها لمعرفة إذا كانت هذه الكلمة تمثل قيمة من النوع الـ int
و إذا كانت تساوي 0 أو 1 فقط.
مثال
import java.util.Scanner; // Scanner هنا قمنا باستدعاء الكلاس public class Main { public static void main(String[] args) { // Scanner هنا قمنا بإنشاء نص و الذي سندخله في كائن الـ String s = "Simple math operation: 0 + 1 + 1 = 2"; // s و أدخلنا فيه مباشرةً النص الموجود في المتغير ,input إسمه Scanner هنا قمنا بإنشاء كائن من الكلاس Scanner input = new Scanner(s); // يحتوي على أي كلمة, قم بتنفيذ الأوامر التالية input أي طالما أن الكائن ,true ترجع hasNext() هنا قلنا أنه طالما أن الدالة while (input.hasNext()) { // و كانت تساوي 0 أو 1 فقط int يمكن التعامل معها كـ input إذا كانت الكلمة التالية الموجودة في الكائن true سيتم طباعة System.out.println("hasNextInt()? " + input.hasNextInt(2)); // هنا في كل دورة سيتم طباعة الكلمة التي سيتم فحص نوعها System.out.println(input.next()); } } }
سنحصل على النتيجة التالية عند التشغيل.
hasNextInt()? false Simple hasNextInt()? false math hasNextInt()? false operation: hasNextInt()? true 0 hasNextInt()? false + hasNextInt()? true 1 hasNextInt()? false + hasNextInt()? true 1 hasNextInt()? false = hasNextInt()? false 2