CodeGym/Java Blog/Acak/Pemindai metode nextLine() di Java
John Squirrels
Level 41
San Francisco

Pemindai metode nextLine() di Java

Dipublikasikan di grup Acak
anggota
Scanner , kelas dalam bahasa pemrograman Java yang dapat mengurai tipe dan string primitif menggunakan ekspresi reguler. Metode pemindai nextLine () di Java memindahkan pemindai ini melampaui baris saat ini dan mengembalikan masukan yang dilewati. Lebih lanjut tentang nextLine() dan Pemindai nanti di artikel ini.

Secara singkat tentang kelas Pemindai dan cara kerjanya

Secara kasar, kelas java.util.Scanner memungkinkan Anda membaca input dari berbagai sumber, termasuk konsol. Ini benar-benar terlihat mirip dengan pemindai klasik. Perangkat keras ini memiliki arsitektur yang rumit, tetapi cara kerjanya cukup sederhana. Pemindai membaca tanggal yang dimasukkan pengguna, seperti kertas dan menyimpan data dalam memori seperti gambar atau file pdf. Pemindai Java, seperti pemindai asli, membaca data dari sumber yang Anda tentukan. Misalnya, dari string, dari file, dari konsol. Kemudian ia mengenali informasi ini dan memprosesnya sesuai kebutuhan. Misalnya, program meminta untuk memasukkan beberapa data dari konsol dan membacanya atau ingin membacanya dari sebuah file. Untuk operasi ini, pemindai memiliki beberapa metode yang digabungkan dengan kata “berikutnya”. Seperti next() , nextLine() , nextInt() , nextDouble() .

metode baris berikutnya()

Seperti yang telah kami katakan di atas, objek pemindai membagi input menjadi token menggunakan pola pembatas, spasi secara default, namun dapat diganti dengan string ( java.lang.String ) atau ekspresi reguler ( java.util.regex. Pola ). Token yang dihasilkan kemudian dapat dikonversi ke berbagai jenis nilai menggunakan berbagai metode selanjutnya. Metode pemindai nextLine() di Java memajukan pemindai ini melewati baris saat ini dan mengembalikan masukan yang dilewati. Umum next() menemukan dan mengembalikan token lengkap berikutnya dari pemindai ini. metode nextLine() terus mencari masukan untuk pemisah baris, sehingga metode ini dapat menyangga semua masukan yang mencari baris untuk dilewati jika tidak ada pemisah baris. Metode ini memunculkan pengecualian berikutnya:
  • NoSuchElementException: muncul jika tidak ada garis yang ditemukan
  • IllegalStateException: muncul jika pemindai ini ditutup

contoh NextLine()

Katakanlah kita ingin pengguna memasukkan kata atau frasa apa pun ke dalam konsol, dan kita dapat menunjukkan kepadanya kata atau frasa apa yang ia masukkan.

import java.util.Scanner;
//…scanner.nextLine() example
public class ScannerTest {
   public static void main(String[] args) {
       Scanner scan = new Scanner(System.in);
       System.out.println("Enter any phrase and I'll repeat it!... ");
      //here we are reading the next line: 
       String sentence = scan.nextLine();
       System.out.println(sentence);
   }
}
Outputnya misalnya sebagai berikut:
Masukkan frasa apa pun dan saya akan mengulanginya!... inilah frasa saya, inilah frasa saya
Jika Anda menggunakan metode next() alih-alih nextLine() , Anda hanya akan mendapatkan kata pertama dari kalimat Anda.
Masukkan frasa apa pun dan saya akan mengulanginya!... inilah frasa saya di sini
Mari kita lihat contoh metode pemindai nextLine() yang berfungsi untuk membaca dari sebuah file. Untuk contoh ini saya telah membuat file txt myTest.txt. Ada dua baris dalam file itu:
file pengujian saya dan baris berikutnya ada di sini
Berikut adalah program yang membaca dua baris dari sebuah file.

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class ScannerTest {

   public static void main(String[] args) throws FileNotFoundException {
       Scanner scanner = new Scanner(new File("d://myTest.txt"));

       String textFromFile1 = scanner.nextLine();
       String textFromFile2 = scanner.nextLine();
       System.out.println(textFromFile1);
       System.out.println(textFromFile2);
       scanner.close();

   }
}
Outputnya adalah:
file pengujian saya dan baris berikutnya ada di sini
Jika jalur Anda ke file salah atau file dengan nama tersebut tidak ada, Anda akan mendapatkan output berikutnya:
Pengecualian di thread "utama" java.io.FileNotFoundException: d:\myTest.txt di java.base/java.io.FileInputStream.open0(Metode Asli) di java.base/java.io.FileInputStream.open(FileInputStream.java :213) di java.base/java.io.FileInputStream.<init>(FileInputStream.java:155) di java.base/java.util.Scanner.<init>(Scanner.java:639) di ScannerTest.main( ScannerTest.java:8)
Jika program menemukan file Anda, namun kosong, Anda akan mendapatkan NoSuchElementException:
Pengecualian di thread "utama" java.util.NoSuchElementException: Tidak ada baris yang ditemukan di java.base/java.util.Scanner.nextLine(Scanner.java:1651) di ScannerTest.main(ScannerTest.java:10)
Komentar
  • Populer
  • Baru
  • Lama
Anda harus login untuk memberikan komentar
Halaman ini belum memiliki komentar