Daftar Isi:
- Mengimpor kelas Scanner di Java
- Mendeklarasikan dan membuat objek Scanner di Jawa
- Untuk membaca nilai masukan dari pengguna, Anda dapat menggunakan salah satu metode kelas
Video: Tutorial Java - Scanner untuk Input Data (Part4) 2025
Sampai Java 1. 5, mendapatkan input teks dari pengguna di program Java berbasis konsol tidaklah mudah. Tapi dengan Java 1. 5, kelas baru - disebut
Scanner
- diperkenalkan untuk menyederhanakan tugas mendapatkan masukan dari pengguna. Di sini, Anda menggunakan kelas
Scanner
untuk mendapatkan nilai masukan sederhana dari pengguna. Teknik yang saya sajikan di sini digunakan dalam banyak program yang ditampilkan di bagian lain buku ini.
Jika Anda menggunakan versi Java yang lebih lama, Anda masih harus membaca ini, karena banyak program menggunakan kelas
Scanner
.
Program sederhana di bawah menggunakan kelas
Scanner
untuk membaca nilai integer dari pengguna dan kemudian menampilkan nilainya kembali ke konsol untuk memastikan bahwa program menerima nilai yang dimasukkan oleh pengguna. Berikut contoh jendela konsol untuk program ini:
Masukkan bilangan bulat: 5
Anda masuk 5.
Program dimulai dengan menampilkan pesan
Masukkan bilangan bulat:
pada baris pertama. Kemudian menunggu Anda memasukkan nomor. Bila Anda mengetikkan angka (seperti 5) dan tekan tombol Enter, ini akan menampilkan pesan konfirmasi (
Anda memasukkan 5
.) Pada baris kedua.
impor java util. Pemindai; @@ ra1
public class ScannerApp
{
pemindai statis sc = new Scanner (Sistem masuk); @@ ra6
public static void main (String [] args)
{
Sistem. di luar. cetak ("Masukkan bilangan bulat:"); @@ ra10
int x = sc. nextInt (); @@ ra11
Sistem. di luar. println ("Anda memasukkan" + x + "."); @@ ra12
}
}
Mengimpor kelas Scanner di Java
Sebelum Anda dapat menggunakan kelas
Scanner
dalam sebuah program, Anda harus mengimpornya. Untuk melakukan itu, Anda kode
impor
pernyataan di awal program, sebelum kelas deklarasi:
impor java. util. Pemindai;
Perhatikan bahwa
java
dan
util
tidak dikapitalisasi, tapi
Scanner
berada.
Jika Anda menggunakan kelas lain di java
. Dengan paket
, Anda dapat mengimpor seluruh paket dengan mengodekan pernyataan
import
seperti ini:
import java. util. *;
Mendeklarasikan dan membuat objek Scanner di Jawa
Sebelum Anda dapat menggunakan kelas
Scanner
untuk membaca masukan dari konsol, Anda harus mendeklarasikan variabel
Scanner
dan membuat sebuah instance dari kelas
Scanner
. Anda mungkin ingin membuat variabel
Scanner
sebagai variabel kelas dan buat objek
Scanner
di penginisialisasi variabel kelas, seperti yang ditunjukkan pada baris 6 dari program di atas:
pemindai statis sc = new Scanner (Sistem masuk);
Dengan cara itu, Anda dapat menggunakan variabel
sc
dalam metode apa pun di kelas.
Untuk membuat objek
Scanner
, Anda menggunakan kata kunci
baru
diikuti dengan panggilan ke konstruktor kelas
Scanner
. Perhatikan bahwa kelas
Scanner
memerlukan parameter yang menunjukkan input input dari input itu berasal. Anda bisa menggunakan System. di
di sini untuk menentukan input konsol keyboard standar.
Mendapatkan masukan
Untuk membaca nilai masukan dari pengguna, Anda dapat menggunakan salah satu metode kelas
Scanner
yang tercantum di bawah ini. Seperti yang dapat Anda lihat, tipe data primitif memiliki metode terpisah.
Metode Kelas Pemindai yang Mendapatkan Nilai Input
Penjelasan | boolean nextBoolean () |
Membaca nilai
|
boolean
dari pengguna.
byte nextByte () |
Membaca nilai
|
byte
dari pengguna.
double nextDouble () |
Membaca nilai
|
double
dari pengguna.
float nextFloat () |
Membaca nilai
|
float
dari pengguna.
int nextInt () |
Membaca nilai
|
int
dari pengguna.
String nextLine () |
Membaca nilai
|
String
dari pengguna.
lama nextLong () |
Membaca nilai
|
panjang
dari pengguna.
pendek nextShort () |
Membaca nilai
|
singkat
dari pengguna.
Perhatikan di kolom pertama tabel bahwa setiap daftar metode dimulai dengan jenis nilai yang dikembalikan oleh metode. Metode |
nextInt
, misalnya, mengembalikan nilai
int
. Juga, perhatikan bahwa masing-masing metode diakhiri dengan kumpulan kurung kosong. Itu berarti metode ini tidak memerlukan parameter. Jika sebuah metode memerlukan parameter, parameternya tercantum dalam tanda kurung ini.
Karena metode ini membaca sebuah nilai dari pengguna dan mengembalikan nilainya, Anda paling sering menggunakannya dalam pernyataan yang memberi nilai pada sebuah variabel. Baris 11, misalnya, membaca
int
dan menugaskannya ke variabel bernama
x
.
Saat metode
nextInt
dijalankan, program ini menunggu pengguna memasukkan nilai di jendela konsol. Agar pengguna tahu jenis masukan yang diharapkan program, biasanya Anda harus menghubungi Sistem
. di luar. cetak
sebelum Anda memanggil metode
Scanner
untuk mendapatkan masukan. Saluran 10 panggilan
Sistem. di luar. cetak
untuk menampilkan pesan
Masukkan bilangan bulat:
di konsol. Dengan begitu, pengguna tahu bahwa program tersebut sedang menunggu masukan.
Jika pengguna memasukkan nilai yang tidak dapat dikonversi ke jenis yang benar, program akan mogok, yang berarti berakhir dengan tiba-tiba. Saat program mogok, ini akan menampilkan pesan kesalahan samar yang menunjukkan apa yang menyebabkan kegagalan tersebut. Jika Anda memasukkan
tiga
bukan angka sebenarnya, misalnya, jendela konsol terlihat seperti ini:
Masukkan bilangan bulat:
tiga Pengecualian di thread "main" java. util. InputMismatchException di java. util. Pemindai throwFor (Scanner java: 819)
di java. util. Pemindai Selanjutnya (Scanner java: 1431)
di java. util. Pemindai nextInt (Scanner java: 2040)
di java. util. Pemindai nextInt (Scanner. java: 2000)
di ScannerApp.Pesan ini menunjukkan bahwa
pengecualian
telah dipanggil InputMismatchException telah terjadi, yang berarti bahwa program tersebut mengharapkan untuk melihat bilangan bulat namun mendapat sesuatu yang lain sebagai gantinya.. Jika Anda tidak tahu bagaimana memberikan pengecualian seperti ini sehingga program dapat menampilkan pesan yang ramah dan memberi kesempatan pada pengguna lain untuk memasukkan nilai yang benar, Anda harus tahan dengan fakta bahwa jika pengguna memasukkan data yang salah, program Anda crash dengan tidak sengaja.
Anda dapat mencegah
nextInt
dan metode serupa menabrak data masukan yang salah dengan terlebih dahulu menggunakan salah satu metode yang tercantum di sini untuk menguji masukan berikutnya untuk memastikannya benar.
Metode Kelas Pemindai yang Memeriksa Nilai Input yang Valid
Metode
boolean telahNextBoolean () | Mengembalikan |
true
|
jika nilai berikutnya yang dimasukkan oleh pengguna adalah < nilai boolean
.
boolean hasNextByte ()
Mengembalikan
true |
jika nilai berikutnya yang dimasukkan oleh pengguna adalah nilai
|
byte
yang valid.
boolean hasNextDouble ()
Mengembalikan
true |
jika nilai berikutnya yang dimasukkan oleh pengguna adalah nilai
|
ganda
yang valid.
boolean hasNextFloat ()
Mengembalikan
true |
jika nilai berikutnya yang dimasukkan oleh pengguna adalah nilai
|
float
yang valid.
boolean hasNextInt ()
Mengembalikan
true |
jika nilai berikutnya yang dimasukkan oleh pengguna adalah nilai
|
int
yang valid.
boolean hasNextLong ()
Mengembalikan
true |
jika nilai berikutnya yang dimasukkan oleh pengguna adalah nilai
|
panjang
yang valid.
boolean hasNextShort ()
Mengembalikan
true |
jika nilai berikutnya yang dimasukkan oleh pengguna adalah nilai
|
pendek
yang valid.
![]() |