סורק שורת nextLine ()

1. סקירה כללית

במדריך מהיר זה, נסתכל בקצרה על ה- nextLine () שיטה של java.util.Scanner כמובן, עם דגש על למידה כיצד להשתמש בו בפועל.

2. Scanner.nextLine ()

ה nextLine () שיטת ה- java.util.Scanner מחלקה סורקת מהמיקום הנוכחי עד שהיא מוצאת תיחום מפריד קו. השיטה מחזירה את חוּט מהמצב הנוכחי ועד סוף הקו.

כתוצאה מכך, לאחר הפעולה, מיקום הסורק מוגדר לתחילת השורה הבאה שעוקבת אחרי התיחום.

השיטה תחפש בנתוני הקלט ומחפשת מפריד קו. היא עשויה לסרוק את כל נתוני הקלט המחפשים את השורה כדי לדלג עליה אם אין מפרידי שורה.

החתימה של nextLine () השיטה היא:

מחרוזת ציבורית nextLine ()

השיטה לא לוקחת פרמטרים. הוא מחזיר את השורה הנוכחית, לא כולל כל מפריד שורה בסוף.

בואו נסתכל על השימוש בו:

נסה (Scanner scanner = new Scanner ("Scanner \ nTest \ n")) {assertEquals ("Scanner", scanner.nextLine ()); assertEquals ("Test", scanner.nextLine ()); }

כפי שראינו, השיטה מחזירה את הקלט ממיקום הסורק הנוכחי עד למציאת מפריד השורות:

נסה (סורק סורק = סורק חדש ("סורק \ n")) {scanner.useDelimiter (""); scanner.next (); assertEquals ("canner", scanner.nextLine ()); }

בדוגמה שלעיל, הקריאה ל הַבָּא() החזרות 'ש' ומקדם את עמדת הסורק להצביע עליו 'ג'.

לכן, כשאנחנו מתקשרים nextLine () בשיטה זה מחזיר את הקלט ממיקום הסורק הנוכחי עד שהוא מוצא מפריד קו.

ה nextLine () שיטה זורקת שני סוגים של חריגים מסומנים.

ראשית, כאשר לא נמצא מפריד קווים, הוא זורק NoSuchElementException:

@Test (צפוי = NoSuchElementException.class) בטל בציבור כאשר ReadLines_thenThrowNoSuchElementException () {נסה (סורק סורק = סורק חדש ("")) {scanner.nextLine (); }}

שנית, זה זורק IllegalStateException אם הסורק סגור:

@Test (צפוי = IllegalStateException.class) בטל בציבור כאשר ReadLines_thenThrowIllegalStateException () {סורק סורק = סורק חדש (""); scanner.close (); scanner.nextLine (); }

3. מסקנה

במאמר זה לעניין, הסתכלנו על nextLine () שיטת Java סוֹרֵק מעמד.

יתר על כן, בדקנו את השימוש בו בתוכנית Java פשוטה. לבסוף בחנו את החריגים המושלכים על ידי השיטה וקוד הדוגמה הממחיש אותה.

כמו תמיד, קוד המקור המלא של דוגמאות העבודה זמין באתר GitHub.


$config[zx-auto] not found$config[zx-overlay] not found