Dalam tutorial ini, kita akan belajar tentang Java Scanner dan metodenya dengan bantuan contoh.
The Scanner
kelas dari java.util
paket yang digunakan untuk membaca data masukan dari berbagai sumber seperti sungai input, pengguna, file, dll Mari kita ambil contoh.
Contoh 1: Membaca Sebaris Teks Menggunakan Pemindai
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(); ) )
Keluaran
Masukkan nama Anda: Kelvin Nama saya Kelvin
Pada contoh di atas, perhatikan barisnya
Scanner input = new Scanner(System.in);
Di sini, kami telah membuat objek Scanner
input bernama.
The System.in
parameter digunakan untuk mengambil input dari input standar. Ia bekerja seperti mengambil input dari keyboard.
Kami kemudian menggunakan nextLine()
metode Scanner
kelas untuk membaca sebaris teks dari pengguna.
Sekarang setelah Anda memiliki beberapa ide Scanner
, mari kita telusuri lebih lanjut tentang itu.
Impor Kelas Pemindai
Seperti yang bisa kita lihat dari contoh di atas, kita perlu mengimpor java.util.Scanner
paket sebelum kita dapat menggunakan Scanner
kelas.
import java.util.Scanner;
Untuk mempelajari lebih lanjut tentang mengimpor paket, kunjungi Paket Java.
Buat Objek Pemindai di Java
Setelah kami mengimpor paket, inilah cara kami 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 akan membaca input dari InputStream, File, dan String masing-masing.
Metode Pemindai Java untuk Mengambil Input
The Scanner
kelas menyediakan berbagai metode yang memungkinkan kita untuk membaca masukan dari berbagai jenis.
metode | Deskripsi |
---|---|
nextInt() | membaca int nilai dari pengguna |
nextFloat() | membaca float nilai dari 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: Java Scanner 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(); ) )
Keluaran
Masukkan integer: 22 Menggunakan nextInt (): 22
Dalam contoh di atas, kami telah menggunakan nextInt()
metode 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(); ) )
Keluaran
Masukkan nilai Ganda: 33.33 Menggunakan nextDouble (): 33.33
Dalam contoh di atas, kami telah menggunakan nextDouble()
metode untuk membaca nilai floating-point.
Contoh 4: Java Scanner next ()
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(); ) )
Keluaran
Masukkan nama Anda: Jonny Walker Menggunakan next (): Jonny
Dalam contoh di atas, kami telah menggunakan next()
metode untuk membaca string dari pengguna.
Di sini, kami telah memberikan nama lengkapnya. Namun, next()
metode ini hanya membaca nama depan.
Ini karena next()
metode membaca input hingga karakter spasi . Setelah spasi putih ditemukan, ia mengembalikan string (tidak termasuk spasi).
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(); ) )
Keluaran
Masukkan nama Anda: Jonny Walker Menggunakan nextLine (): Jonny Walker
Pada contoh pertama, kami telah menggunakan nextLine()
metode untuk membaca string dari pengguna.
Tidak seperti next()
, nextLine()
metode membaca seluruh baris input termasuk spasi. Metode dihentikan ketika bertemu dengan karakter baris berikutnya ,.
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 baris dan membagi garis menjadi token. Token adalah elemen kecil yang memiliki arti bagi compiler Java. Sebagai contoh,
Misalkan ada string input:
He is 22
Dalam kasus ini, objek pemindai akan membaca seluruh baris dan membagi string menjadi token: " He ", " is " dan " 22 ". Objek kemudian mengulangi setiap token dan membaca setiap token menggunakan metode yang berbeda.
Catatan : Secara default, spasi digunakan untuk membagi token.