تم العثور على فئة الماسح الضوئي في Java في الحزمة java.util. توفر Java طرقًا مختلفة لقراءة المدخلات من لوحة المفاتيح، فئة java.util.Scanner هي إحداها.
تقوم فئة Java Scanner بتقسيم الإدخال إلى رموز مميزة باستخدام محدد وهو مسافة بيضاء افتراضيًا. يوفر العديد من الطرق لقراءة وتحليل القيم البدائية المختلفة.
تُستخدم فئة Java Scanner على نطاق واسع لتحليل النص للسلاسل والأنواع البدائية باستخدام التعبير العادي. إنها أبسط طريقة للحصول على مدخلات في Java. بمساعدة Scanner في Java، يمكننا الحصول على مدخلات من المستخدم في أنواع بدائية مثل int، وlong، وdouble، وbyte، وfloat، وshort، وما إلى ذلك.
jpa في الربيع
تعمل فئة Java Scanner على توسيع فئة الكائن وتنفيذ واجهات Iterator وCloseable.
توفر فئة Java Scanner أساليب nextXXX() لإرجاع نوع القيمة مثل nextInt() وnextByte() وnextShort() وnext() وnextLine() وnextDouble() وnextFloat() وnextBoolean() وما إلى ذلك للحصول على حرف واحد من الماسح الضوئي، يمكنك استدعاء الأسلوب next().charAt(0) الذي يُرجع حرفًا واحدًا.
خريطة مكرر جافا
إعلان فئة الماسح الضوئي Java
public final class Scanner extends Object implements Iterator
كيفية الحصول على جافا سكانر
للحصول على مثيل Java Scanner الذي يقرأ المدخلات من المستخدم، نحتاج إلى تمرير دفق الإدخال (System.in) في مُنشئ فئة Scanner. على سبيل المثال:
Scanner in = new Scanner(System.in);
للحصول على مثيل Java Scanner الذي يوزع السلاسل، نحتاج إلى تمرير السلاسل في مُنشئ فئة Scanner. على سبيل المثال:
Scanner in = new Scanner('Hello Javatpoint');
جافا الماسح الضوئي فئة المنشئين
SN | البناء | وصف |
---|---|---|
1) | الماسح الضوئي (مصدر الملف) | يقوم بإنشاء ماسح ضوئي جديد ينتج القيم الممسوحة ضوئيًا من الملف المحدد. |
2) | الماسح الضوئي (مصدر الملف، String charsetName) | يقوم بإنشاء ماسح ضوئي جديد ينتج القيم الممسوحة ضوئيًا من الملف المحدد. |
3) | الماسح الضوئي (مصدر InputStream) | يقوم بإنشاء ماسح ضوئي جديد ينتج القيم الممسوحة ضوئيًا من تدفق الإدخال المحدد. |
4) | الماسح الضوئي (مصدر InputStream، String charsetName) | يقوم بإنشاء ماسح ضوئي جديد ينتج القيم الممسوحة ضوئيًا من تدفق الإدخال المحدد. |
5) | الماسح الضوئي (مصدر قابل للقراءة) | يقوم بإنشاء ماسح ضوئي جديد ينتج القيم الممسوحة ضوئيًا من المصدر المحدد. |
6) | الماسح الضوئي (مصدر السلسلة) | يقوم بإنشاء ماسح ضوئي جديد ينتج القيم الممسوحة ضوئيًا من السلسلة المحددة. |
7) | الماسح الضوئي (مصدر ReadableByteChannel) | يقوم بإنشاء ماسح ضوئي جديد ينتج القيم الممسوحة ضوئيًا من القناة المحددة. |
8) | الماسح الضوئي (مصدر ReadableByteChannel، String charsetName) | يقوم بإنشاء ماسح ضوئي جديد ينتج القيم الممسوحة ضوئيًا من القناة المحددة. |
9) | الماسح الضوئي (مصدر المسار) | يقوم بإنشاء ماسح ضوئي جديد ينتج القيم الممسوحة ضوئيًا من الملف المحدد. |
10) | الماسح الضوئي (مصدر المسار، سلسلة الأحرف) | يقوم بإنشاء ماسح ضوئي جديد ينتج القيم الممسوحة ضوئيًا من الملف المحدد. |
أساليب فئة الماسح الضوئي جافا
فيما يلي قائمة بطرق الماسح الضوئي:
SN | المعدل والنوع | طريقة | وصف |
---|---|---|---|
1) | فارغ | يغلق() | يتم استخدامه لإغلاق هذا الماسح الضوئي. |
2) | نمط | محدد () | يتم استخدامه للحصول على النموذج الذي تستخدمه فئة الماسح الضوئي حاليًا لمطابقة المحددات. |
3) | تدفق | جد كل() | يتم استخدامه للعثور على دفق من نتائج المطابقة التي تطابق سلسلة النمط المقدمة. |
4) | خيط | فيندينلين () | يتم استخدامه للعثور على التكرار التالي للنمط المنشأ من السلسلة المحددة، مع تجاهل المحددات. |
5) | خيط | FindWithinHorizon() | يتم استخدامه للعثور على التكرار التالي للنمط المنشأ من السلسلة المحددة، مع تجاهل المحددات. |
6) | منطقية | التالي () | يتم إرجاعه صحيحًا إذا كان هذا الماسح الضوئي يحتوي على رمز مميز آخر في مدخلاته. |
7) | منطقية | hasNextBigDecimal() | يتم استخدامه للتحقق مما إذا كان من الممكن تفسير الرمز المميز التالي في إدخال هذا الماسح الضوئي على أنه BigDecimal باستخدام طريقة nextBigDecimal() أم لا. |
8) | منطقية | hasNextBigInteger() | يتم استخدامه للتحقق مما إذا كان من الممكن تفسير الرمز المميز التالي في إدخال هذا الماسح الضوئي على أنه BigDecimal باستخدام طريقة nextBigDecimal() أم لا. |
9) | منطقية | hasNextBoolean() | يتم استخدامه للتحقق مما إذا كان من الممكن تفسير الرمز المميز التالي في إدخال هذا الماسح الضوئي على أنه منطقي باستخدام طريقة nextBoolean() أم لا. |
10) | منطقية | hasNextByte() | يتم استخدامه للتحقق مما إذا كان من الممكن تفسير الرمز المميز التالي في إدخال هذا الماسح الضوئي على أنه بايت باستخدام طريقة nextBigDecimal() أم لا. |
أحد عشر) | منطقية | hasNextDouble() | يتم استخدامه للتحقق مما إذا كان من الممكن تفسير الرمز المميز التالي في إدخال هذا الماسح الضوئي على أنه BigDecimal باستخدام طريقة nextByte() أم لا. |
12) | منطقية | hasNextFloat() | يتم استخدامه للتحقق مما إذا كان من الممكن تفسير الرمز المميز التالي في إدخال هذا الماسح الضوئي على أنه Float باستخدام طريقة nextFloat() أم لا. |
13) | منطقية | hasNextInt() | يتم استخدامه للتحقق مما إذا كان من الممكن تفسير الرمز المميز التالي في إدخال هذا الماسح الضوئي على أنه int باستخدام طريقة nextInt() أم لا. |
14) | منطقية | hasNextLine() | يتم استخدامه للتحقق مما إذا كان هناك سطر آخر في إدخال هذا الماسح الضوئي أم لا. |
خمسة عشر) | منطقية | hasNextLong() | يتم استخدامه للتحقق مما إذا كان من الممكن تفسير الرمز المميز التالي في إدخال هذا الماسح الضوئي على أنه طويل باستخدام طريقة nextLong() أم لا. |
16) | منطقية | hasNextShort() | يتم استخدامه للتحقق مما إذا كان من الممكن تفسير الرمز المميز التالي في إدخال هذا الماسح الضوئي على أنه قصير باستخدام طريقة nextShort() أم لا. |
17) | IOEException | إستثناء () | يتم استخدامه للحصول على آخر IOException الذي تم طرحه بواسطة هذا الماسح الضوئي القابل للقراءة. |
18) | محلي | محلي() | يتم استخدامه للحصول على لغة فئة الماسح الضوئي. |
19) | نتيجة المباراة | مباراة() | يتم استخدامه للحصول على نتيجة المطابقة لآخر عملية مسح قام بها هذا الماسح الضوئي. |
عشرين) | خيط | التالي() | يتم استخدامه للحصول على الرمز المميز الكامل التالي من الماسح الضوئي قيد الاستخدام. |
واحد وعشرين) | BigDecimal | التاليBigDecimal() | يقوم بمسح الرمز المميز التالي للإدخال باعتباره BigDecimal. |
22) | BigInteger | nextBigInteger() | يقوم بمسح الرمز المميز التالي للإدخال باعتباره BigInteger. |
23) | منطقية | التاليBoolean() | يقوم بمسح الرمز المميز التالي للإدخال إلى قيمة منطقية وإرجاع تلك القيمة. |
24) | بايت | نيكست بايت () | يقوم بمسح الرمز المميز التالي للإدخال كبايت. |
25) | مزدوج | التالي مزدوج () | يقوم بمسح الرمز المميز التالي للإدخال باعتباره مزدوجًا. |
26) | يطفو | nextFloat() | يقوم بمسح الرمز المميز التالي للإدخال كعائم. |
27) | كثافة العمليات | التاليInt() | يقوم بمسح الرمز المميز التالي للإدخال باعتباره Int. |
28) | خيط | السطر التالي() | يتم استخدامه للحصول على سلسلة الإدخال التي تم تخطيها لكائن الماسح الضوئي. |
29) | طويل | نكست لونغ () | يقوم بمسح الرمز المميز التالي للإدخال لفترة طويلة. |
30) | قصير | نيكستشورت () | يقوم بمسح الرمز المميز التالي للإدخال باعتباره قصيرًا. |
31) | كثافة العمليات | الجذر () | يتم استخدامه للحصول على الجذر الافتراضي لاستخدام الماسح الضوئي. |
32) | فارغ | يزيل() | يتم استخدامه عندما لا تكون عملية الإزالة مدعومة بواسطة تطبيق Iterator هذا. |
33) | الماسح الضوئي | إعادة ضبط() | يتم استخدامه لإعادة ضبط الماسح الضوئي قيد الاستخدام. |
3. 4) | الماسح الضوئي | يتخطى() | فهو يتخطى الإدخال الذي يطابق النمط المحدد، ويتجاهل المحددات |
35) | تدفق | الرموز () | يتم استخدامه للحصول على دفق من الرموز المميزة المفصولة بالمحددات من كائن الماسح الضوئي قيد الاستخدام. |
36) | خيط | إلى سلسلة() | يتم استخدامه للحصول على تمثيل السلسلة للماسح الضوئي باستخدام. |
37) | الماسح الضوئي | استخدام المحدد () | يتم استخدامه لتعيين نمط تحديد الماسح الضوئي المستخدم للنمط المحدد. |
38) | الماسح الضوئي | استخدام اللغة المحلية () | يتم استخدامه لتعيين كائن لغة الماسح الضوئي هذا على اللغة المحددة. |
39) | الماسح الضوئي | استخدام راديكس () | يتم استخدامه لتعيين الجذر الافتراضي للماسح الضوئي المستخدم على الجذر المحدد. |
مثال 1
دعونا نرى مثالاً بسيطًا لـ Java Scanner حيث نحصل على مدخلات واحدة من المستخدم. هنا، نحن نطلب سلسلة من خلال طريقة in.nextLine().
import java.util.*; public class ScannerExample { public static void main(String args[]){ Scanner in = new Scanner(System.in); System.out.print('Enter your name: '); String name = in.nextLine(); System.out.println('Name is: ' + name); in.close(); } }
انتاج:
المشغلين في برمجة بايثون
Enter your name: sonoo jaiswal Name is: sonoo jaiswal
مثال 2
import java.util.*; public class ScannerClassExample1 { public static void main(String args[]){ String s = 'Hello, This is JavaTpoint.'; //Create scanner Object and pass string in it Scanner scan = new Scanner(s); //Check if the scanner has a token System.out.println('Boolean Result: ' + scan.hasNext()); //Print the string System.out.println('String: ' +scan.nextLine()); scan.close(); System.out.println('--------Enter Your Details-------- '); Scanner in = new Scanner(System.in); System.out.print('Enter your name: '); String name = in.next(); System.out.println('Name: ' + name); System.out.print('Enter your age: '); int i = in.nextInt(); System.out.println('Age: ' + i); System.out.print('Enter your salary: '); double d = in.nextDouble(); System.out.println('Salary: ' + d); in.close(); } }
انتاج:
Boolean Result: true String: Hello, This is JavaTpoint. -------Enter Your Details--------- Enter your name: Abhishek Name: Abhishek Enter your age: 23 Age: 23 Enter your salary: 25000 Salary: 25000.0
مثال 3
import java.util.*; public class ScannerClassExample2 { public static void main(String args[]){ String str = 'Hello/This is JavaTpoint/My name is Abhishek.'; //Create scanner with the specified String Object Scanner scanner = new Scanner(str); System.out.println('Boolean Result: '+scanner.hasNextBoolean()); //Change the delimiter of this scanner scanner.useDelimiter('/'); //Printing the tokenized Strings System.out.println('---Tokenizes String---'); while(scanner.hasNext()){ System.out.println(scanner.next()); } //Display the new delimiter System.out.println('Delimiter used: ' +scanner.delimiter()); scanner.close(); } }
انتاج:
Boolean Result: false ---Tokenizes String--- Hello This is JavaTpoint My name is Abhishek. Delimiter used: /