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

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 فقط.

مثال

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