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

Javaالدالة nextByte(int radix) الموجودة في الكلاس Scanner في جافا

تعريفها

ترجع القيمة التالية التي تم إدخالها في كائن الـ Scanner في حال كانت تعتبر من النوع byte و كانت تتطابق مع القيمة التي نمررها لها مكان الكائن كـ radix.



بناؤها

public byte nextByte(int radix) 


باراميترات

الـ radix هو int يستخدم هنا لمعرفة إذا كانت القيمة التي نفحصها تمثل قيمة binary - octal - decimal - hexadecimal.
الـradix يمكن أن يكون 2 - 8 - 10 - 16 بالترتيب كما فوق.



قيمة الإرجاع

ترجع القيمة التالية التي تم إدخالها في كائن الـ Scanner في حال كانت تعتبر من النوع byte و كانت تتطابق مع القيمة التي نمررها لها مكان الكائن كـ radix.


أخطاء محتملة

  • IllegalStateException: في حال كان كائن الـ Scanner مغلقاً.
  • InputMismatchException: في حال كانت القيمة التالية ليست من النوع byte و أيضاُ في حال كانت قيمتها العددية أكبر أو أصغر من القيمة الممكن تخزينها فيها.
  • NoSuchElementException: في حال قمت باستدعائها بعد أن تم إرجاع جميع القيم الموجودة في كائن الـ Scanner.


في المثال التالي أدخلنا سطر من البيانات في كونستركتور كائن الـ Scanner.
بعدها قمنا بإنشاء حلقة while تمر على كل كلمة موجودة في كائن الـ Scanner ثم تعرضها بواسطة الدالة next().
ستستمر هذه الحلقة في تكرار نفسها طالما أن الدالة hasNext() ترجع true.
إذا كانت الكلمة من النوع byte و تتطابق مع الـ radix الموضوع سيكتب بجانبها (this is a byte value).

المثال الأول

Main.java
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())
        {
            if(input.hasNextByte(4))
                System.out.println(input.nextByte(4) + " (this is a byte value)");
            else
                System.out.println(input.next());
        }
 
    }
 
}

سنحصل على النتيجة التالية عند التشغيل.

Simple
math
operation:
2 (this is a byte value)
+
3 (this is a byte value)
=
5 

في المثال التالي سيطلب البرنامج من المستخدم إدخال عدد صحيح يمثل عدد سنوات الخبرة التي لديه, بعدها سيقوم بعرضه.

المثال الثاني

Main.java
import java.util.Scanner;                                        // Scanner هنا قمنا باستدعاء الكلاس
 
public class Main {
 
    public static void main(String[] args) {
 
        Scanner input = new Scanner(System.in);                  // input إسمه Scanner هنا قمنا بإنشاء كائن من الكلاس
 
        byte year;                                               // سنستخدم هذا المتغير لحفظ عدد سنوات الخبرة التي سيدخلها المستخدم
 
        System.out.print("Enter your years of experience: ");    // هنا طلبنا من المستخدم إدخال رقم يمثل عدد سنوات الخبرة التي لديه
        year = input.nextByte(10);                               // year هنا قمنا بإستقبال العدد الذي سيدخله المستخدم و تخزينه في المتغير
 
        // في الأخير سيتم عرض عدد سنوات الخبرة التي لدى المتسخدم
        System.out.println("\n----------- User Info ------------");
        System.out.println("User years experience: " +year+ " years");
 
    }
 
}

سنحصل على النتيجة التالية عند التشغيل إذا قمنا بإدخال نفس المعلومات التي أدخلناها عند تشغيل البرنامج.
قمنا بتعليم البيانات التي إنتظرنا البرنامج لإدخالها من لوحة المفاتيح باللون الأصفر.

Enter your years of experience: 3

----------- User Info ------------
User years experience: 3 years