Kaedah Scanner nextLine ()

1. Gambaran keseluruhan

Dalam tutorial ini cepat, kita akan secara ringkas melihat pada nextLine () kaedah java.util.Scanner kelas, sudah tentu dengan tumpuan belajar bagaimana untuk menggunakannya dalam amalan.

2. Pengimbas.nextLine ()

The nextLine () kaedah yang java.util.Scanner kelas mengimbas dari kedudukan semasa sehingga ia mendapati pembatas pemisah garis. Kaedah mengembalikan Rentetan dari kedudukan semasa ke hujung garisan.

Akibatnya, setelah operasi, kedudukan pengimbas ditetapkan ke permulaan baris seterusnya yang mengikuti pembatas.

Kaedah akan mencari melalui data input mencari pemisah garis. Ia mungkin mengimbas semua data input yang mencari garis untuk dilangkau jika tidak ada pemisah baris.

Tandatangan kaedah nextLine () adalah:

public String nextLine()

Kaedah ini tidak memerlukan parameter. Ia mengembalikan garis semasa, tidak termasuk pemisah garis di akhir.

Mari lihat penggunaannya:

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

Seperti yang telah kita lihat, kaedah mengembalikan input dari kedudukan pengimbas semasa sehingga pemisah garis dijumpai:

try (Scanner scanner = new Scanner("Scanner\n")) { scanner.useDelimiter(""); scanner.next(); assertEquals("canner", scanner.nextLine()); }

Dalam contoh di atas, panggilan ke sebelah () mengembalikan 'S' dan memajukan kedudukan pengimbas ke titik 'c' .

Oleh itu, apabila kita memanggil kaedah nextLine (), ia mengembalikan input dari kedudukan pengimbas semasa sehingga menjumpai pemisah garis.

Kaedah nextLine () melemparkan dua jenis pengecualian yang diperiksa.

Pertama, apabila tidak ada pemisah garis, ia membuang NoSuchElementException :

@Test(expected = NoSuchElementException.class) public void whenReadingLines_thenThrowNoSuchElementException() { try (Scanner scanner = new Scanner("")) { scanner.nextLine(); } }

Kedua, ia membuang IllegalStateException jika pengimbas ditutup:

@Test(expected = IllegalStateException.class) public void whenReadingLines_thenThrowIllegalStateException() { Scanner scanner = new Scanner(""); scanner.close(); scanner.nextLine(); }

3. Kesimpulannya

Dalam artikel ini, kami melihat kaedah NextLine () kelas Java Scanner .

Selanjutnya, kami melihat penggunaannya dalam program Java sederhana. Akhirnya, kami melihat pengecualian yang dilemparkan dengan kaedah dan contoh kod yang menggambarkannya.

Seperti biasa, kod sumber penuh contoh kerja boleh didapati di GitHub.