تعلمنا في الأقسام السابقة كيفية استخدام تقسيم (String regex) لفئة String لتحليل سلسلة، وكيفية استخدام فئة StringTokenizer لتحليل الكلمات في سلسلة. في هذا القسم، نتعلم كيفية استخدام كائنات فئة Scanner لتحليل من السلاسل البيانات التي يتطلبها البرنامج.
هناك طريقتان لتحليل البيانات التي يتطلبها البرنامج. إحداهما هي استخدام العلامة المحددة الافتراضية لتحليل السلسلة، والأخرى هي استخدام التعبيرات العادية كعلامات محددة لتحليل السلسلة طريقة.
لتحليل سلسلة باستخدام علامة المحدد الافتراضية، نحتاج إلى إنشاء كائن Scanner وتمرير السلسلة المراد تحليلها إلى الكائن الذي تم إنشاؤه، على سبيل المثال:
StringNBA=ILoveThisGame;
من أجل تحليل الكلمات في NBA، يمكننا إنشاء كائن Scanner:
Scannerscanner=newScanner(NBA);
ثم يستخدم الماسح الضوئي المسافات كمحددات لتحليل الكلمات الموجودة في السلسلة، وتكون خصائص عملية التحليل كما يلي:
1) يستدعي الماسح الضوئي الطريقة التالية () لإرجاع الكلمات الموجودة في NBA بالتسلسل. إذا تم إرجاع الكلمة الأخيرة في NBA بواسطة الطريقة التالية ()، فسيستدعي الماسح الضوئي hasNext () لإرجاع خطأ، وإلا فإنه يُرجع صحيحًا.
2) بالنسبة للكلمات الرقمية في السلسلة التي تم تحليلها، مثل 123، 1.23، وما إلى ذلك، يمكن للماسح الضوئي استخدام طريقة nextInt() أو nextDouble() بدلاً من الطريقة التالية()، أي أنه يمكن للماسح الضوئي استدعاء nextInt( ) أو طريقة nextDouble() لتحويل الكلمات الرقمية إلى بيانات int أو مزدوجة وإعادتها.
3) إذا لم تكن الكلمة كلمة رقمية، فسيحدث InputMismatchException عندما يستدعي الماسح الضوئي الأسلوب nextInt() أو nextDouble() عند معالجة الاستثناء، يمكن استدعاء الأسلوب next() لإرجاع الكلمة غير الرقمية.