Javaالدالة nextByte()
الموجودة في الكلاس Scanner
في جافا
تعريفها
ترجع القيمة التالية التي تم إدخالها في كائن الـ Scanner
في حال كانت هذه القيمة تعتبر من النوع byte
.
بناؤها
public byte nextByte()
باراميترات
ليس لها باراميتر.
قيمة الإرجاع
ترجع القيمة التالية التي تم إدخالها في كائن الـ Scanner
في حال كانت من النوع byte
. و ترجعها كـ byte
.
أخطاء محتملة
- IllegalStateException: في حال كان كائن الـ
Scanner
مغلقاً. - InputMismatchException: في حال كانت القيمة التالية ليست من النوع
byte
و أيضاُ في حال كانت قيمتها العددية أكبر أو أصغر من القيمة الممكن تخزينها فيها. - NoSuchElementException: في حال قمت باستدعائها بعد أن تم إرجاع جميع القيم الموجودة في كائن الـ
Scanner
.
في المثال التالي أدخلنا سطر من البيانات في كونستركتور كائن الـ Scanner
.
بعدها قمنا بإنشاء حلقة while
تمر على كل كلمة موجودة في كائن الـ Scanner
ثم تعرضها بواسطة الدالة next()
.
ستستمر هذه الحلقة في تكرار نفسها طالما أن الدالة hasNext()
ترجع true
.
إذا كانت الكلمة من النوع byte
سيكتب بجانبها (this is a byte value)
.
المثال الأول
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()) System.out.println(input.nextByte() + " (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 (this is a byte value)
في المثال التالي سيطلب البرنامج من المستخدم إدخال عدد صحيح يمثل عدد سنوات الخبرة التي لديه, بعدها سيقوم بعرضه.
المثال الثاني
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(); // year هنا قمنا بإستقبال العدد الذي سيدخله المستخدم و تخزينه في المتغير // في الأخير سيتم عرض عدد سنوات الخبرة التي لدى المتسخدم System.out.println("\n----------- User Info ------------"); System.out.println("User years experience: " +year+ " years"); } }
سنحصل على النتيجة التالية عند التشغيل إذا قمنا بإدخال نفس المعلومات التي أدخلناها عند تشغيل البرنامج.
قمنا بتعليم البيانات التي إنتظرنا البرنامج لإدخالها من لوحة المفاتيح باللون الأصفر.
----------- User Info ------------
User years experience: 3 years