Dalam tutorial ini, kita akan belajar mengenai Java Scanner dan kaedahnya dengan bantuan contoh.
The Scanner
golongan orang java.util
pakej digunakan untuk membaca data input daripada pelbagai sumber seperti sungai input, pengguna, fail, dan lain-lain Mari kita mengambil contoh.
Contoh 1: Baca Baris Teks Menggunakan Pengimbas
import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter your name: "); // takes input from the keyboard String name = input.nextLine(); // prints the name System.out.println("My name is " + name); // closes the scanner input.close(); ) )
Pengeluaran
Masukkan nama anda: Kelvin Nama saya Kelvin
Dalam contoh di atas, perhatikan garisnya
Scanner input = new Scanner(System.in);
Di sini, kami telah membuat objek Scanner
bernama input.
The System.in
parameter digunakan untuk mengambil input dari input standard. Ia berfungsi seperti mengambil input dari papan kekunci.
Kami kemudian menggunakan nextLine()
kaedah Scanner
kelas untuk membaca sebaris teks dari pengguna.
Setelah anda mempunyai idea Scanner
, mari kita meneroka lebih lanjut mengenainya.
Kelas Pengimbas Import
Seperti yang dapat kita lihat dari contoh di atas, kita perlu mengimport java.util.Scanner
pakej sebelum kita dapat menggunakan Scanner
kelas.
import java.util.Scanner;
Untuk mengetahui lebih lanjut mengenai mengimport pakej, kunjungi Pakej Java.
Buat Objek Pengimbas di Java
Sebaik sahaja kami mengimport pakej, berikut adalah bagaimana kita dapat membuat Scanner
objek.
// read input from the input stream Scanner sc1 = new Scanner(InputStream input); // read input from files Scanner sc2 = new Scanner(File file); // read input from a string Scanner sc3 = new Scanner(String str);
Di sini, kami telah membuat objek Scanner
kelas yang masing-masing akan membaca input dari InputStream, File, dan String.
Kaedah Pengimbas Java untuk Mengambil Input
The Scanner
kelas menyediakan pelbagai kaedah yang membolehkan kita untuk membaca input jenis yang berbeza.
Kaedah | Penerangan |
---|---|
nextInt() | membaca int nilai dari pengguna |
nextFloat() | membaca float nilai membentuk pengguna |
nextBoolean() | membaca boolean nilai dari pengguna |
nextLine() | membaca sebaris teks dari pengguna |
next() | membaca sepatah kata dari pengguna |
nextByte() | membaca byte nilai dari pengguna |
nextDouble() | membaca doubl nilai e dari pengguna |
nextShort() | membaca short nilai dari pengguna |
nextLong() | membaca long nilai dari pengguna |
Contoh 2: Pengimbas Java nextInt ()
import java.util.Scanner; class Main ( public static void main(String() args) ( // creates a Scanner object Scanner input = new Scanner(System.in); System.out.println("Enter an integer: "); // reads an int value int data1 = input.nextInt(); System.out.println("Using nextInt(): " + data1); input.close(); ) )
Pengeluaran
Masukkan bilangan bulat: 22 Menggunakan nextInt (): 22
Dalam contoh di atas, kami telah menggunakan nextInt()
kaedah untuk membaca nilai integer.
Contoh 3: Java Scanner nextDouble ()
import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter Double value: "); // reads the double value double value = input.nextDouble(); System.out.println("Using nextDouble(): " + value); input.close(); ) )
Pengeluaran
Masukkan Nilai berganda: 33.33 Menggunakan nextDouble (): 33.33
Dalam contoh di atas, kami telah menggunakan nextDouble()
kaedah untuk membaca nilai floating-point.
Contoh 4: Pengimbas Java seterusnya ()
import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter your name: "); // reads the entire word String value = input.next(); System.out.println("Using next(): " + value); input.close(); ) )
Pengeluaran
Masukkan nama anda: Jonny Walker Menggunakan seterusnya (): Jonny
Dalam contoh di atas, kami telah menggunakan next()
kaedah untuk membaca rentetan dari pengguna.
Di sini, kami telah memberikan nama penuh. Walau bagaimanapun, next()
kaedah itu hanya membaca nama pertama.
Ini kerana next()
kaedah membaca input hingga watak ruang kosong . Setelah ruang kosong ditemui, ia mengembalikan rentetan (tidak termasuk ruang kosong).
Contoh 5: Java Scanner nextLine ()
import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter your name: "); // reads the entire line String value = input.nextLine(); System.out.println("Using nextLine(): " + value); input.close(); ) )
Pengeluaran
Masukkan nama anda: Jonny Walker Menggunakan nextLine (): Jonny Walker
Dalam contoh pertama, kami telah menggunakan nextLine()
kaedah untuk membaca rentetan dari pengguna.
Tidak seperti next()
, nextLine()
kaedah membaca keseluruhan baris input termasuk spasi. Kaedah ini ditamatkan apabila ia menghadapi watak garis depan, .
Recommended Reading: Java Scanner skipping the nextLine().
Java Scanner with BigInteger and BigDecimal
Java scanner can also be used to read the big integer and big decimal numbers.
- nextBigInteger() - reads the big integer value from the user
- nextBigDecimal() - reads the big decimal value from the user
Example 4: Read BigInteger and BigDecimal
import java.math.BigDecimal; import java.math.BigInteger; import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter a big integer: "); // reads the big integer BigInteger value1 = input.nextBigInteger(); System.out.println("Using nextBigInteger(): " + value1); System.out.print("Enter a big decimal: "); // reads the big decimal BigDecimal value2 = input.nextBigDecimal(); System.out.println("Using nextBigDecimal(): " + value2); input.close(); ) )
Output
Enter a big integer: 987654321 Using nextBigInteger(): 987654321 Enter a big decimal: 9.55555 Using nextBigDecimal(): 9.55555
In the above example, we have used the java.math.BigInteger
and java.math.BigDecimal
package to read BigInteger
and BigDecimal
respectively.
Working of Java Scanner
The Scanner
kelas membaca seluruh garis dan membahagikan garis ke dalam token. Token adalah elemen kecil yang mempunyai makna bagi penyusun Java. Sebagai contoh,
Katakan ada rentetan input:
He is 22
Dalam kes ini, objek pengimbas akan membaca keseluruhan baris dan membahagi rentetan menjadi token: " Dia ", " adalah " dan " 22 ". Objek kemudian berulang setiap token dan membaca setiap token menggunakan kaedah yang berbeza.
Nota : Secara lalai, ruang kosong digunakan untuk membahagikan token.