Bagaimana saya bisa membaca input dari konsol menggunakan Scanner
kelas? Sesuatu seperti ini:
System.out.println("Enter your username: ");
Scanner = input(); // Or something like this, I don't know the code
Pada dasarnya, yang saya inginkan adalah pemindai membaca input untuk nama pengguna, dan menetapkan input ke String
variabel.
java
java.util.scanner
Hock3yPlayer
sumber
sumber
Jawaban:
Contoh sederhana untuk menggambarkan bagaimana
java.util.Scanner
karya akan membaca bilangan bulat tunggal dariSystem.in
. Ini sangat sederhana.Untuk mengambil nama pengguna yang mungkin akan saya gunakan
sc.nextLine()
.Anda juga dapat menggunakan
next(String pattern)
jika Anda ingin lebih mengontrol input, atau hanya memvalidasiusername
variabel.Anda akan menemukan informasi lebih lanjut tentang penerapannya di Dokumentasi API untuk
java.util.Scanner
sumber
sumber
Membaca Data Dari Konsol
BufferedReader
disinkronkan, jadi operasi baca pada BufferedReader dapat dilakukan dengan aman dari banyak utas. Ukuran buffer dapat ditentukan, atau ukuran default ( 8192 ) dapat digunakan. Standarnya cukup besar untuk sebagian besar keperluan.readLine () « hanya membaca data baris demi baris dari aliran atau sumber. Baris dianggap diakhiri oleh salah satu dari berikut ini: \ n, \ r (atau) \ r \ n
Scanner
memecah inputnya menjadi token menggunakan pola pembatas, yang secara default cocok dengan spasi putih (s) dan dikenali olehCharacter.isWhitespace
.« Sampai pengguna memasukkan data, operasi pemindaian dapat memblokir, menunggu input. « Gunakan Pemindai ( BUFFER_SIZE = 1024 ) jika Anda ingin menguraikan jenis token tertentu dari aliran. « Namun pemindai tidak aman untuk thread. Itu harus disinkronkan secara eksternal.
next () «Menemukan dan mengembalikan token lengkap berikutnya dari pemindai ini. nextInt () «Memindai token input berikutnya sebagai int.
Kode
Input dan output Stream
sumber
BufferedReader, Scanner
untuk membaca data dari File Jaringan File Lokal (ATAU).Ada masalah dengan metode input.nextInt () - hanya membaca nilai int.
Jadi ketika membaca baris berikutnya menggunakan input.nextLine () Anda menerima "\ n", yaitu Enterkuncinya. Jadi untuk melewati ini, Anda harus menambahkan input.nextLine ().
Cobalah seperti itu:
sumber
Ada beberapa cara untuk mendapatkan input dari pengguna. Di sini, di program ini kita akan mengambil kelas Scanner untuk mencapai tugas. Kelas Scanner ini berada di bawah
java.util
, maka baris pertama dari program ini adalah import java.util.Scanner; yang memungkinkan pengguna untuk membaca nilai dari berbagai jenis di Jawa. Baris pernyataan impor harus berada di baris pertama program java, dan kami melanjutkan untuk kode.Untuk mengakses metode di kelas Pemindai, buat objek pemindai baru sebagai "dalam". Sekarang kita menggunakan salah satu metodenya, yaitu "selanjutnya". Metode "selanjutnya" mendapatkan string teks yang dimasukkan pengguna pada keyboard.
Di sini saya menggunakan
in.nextLine();
untuk mendapatkan String yang dimasukkan pengguna.sumber
sumber
Anda dapat membuat program sederhana untuk menanyakan nama pengguna dan mencetak apa pun yang menggunakan input balasan.
Atau minta pengguna untuk memasukkan dua angka dan Anda dapat menambah, mengalikan, mengurangi, atau membagi angka-angka itu dan mencetak jawaban untuk input pengguna seperti perilaku kalkulator.
Jadi di sana Anda memerlukan kelas Scanner. Anda harus
import java.util.Scanner;
, dan dalam kode yang perlu Anda gunakan:input
adalah nama variabel.Lihat bagaimana berbeda ini:
input.next();
,i = input.nextInt();
,d = input.nextDouble();
Menurut String, int dan dobel bervariasi dengan cara yang sama untuk sisanya. Jangan lupa pernyataan impor di bagian atas kode Anda.
sumber
Contoh sederhana:
sumber
Ketika pengguna memasukkan / nya
username
, periksa untuk masuk juga.sumber
Untuk membaca input:
Untuk membaca input ketika Anda memanggil metode dengan beberapa argumen / parameter:
sumber
sumber
Ini adalah kelas lengkap yang melakukan operasi yang diperlukan:
sumber
Scanner
.Anda dapat mengalirkan kode ini:
sumber
Anda dapat menggunakan kelas Pemindai di Jawa
sumber
Ada cara sederhana untuk membaca dari konsol.
Silakan temukan kode di bawah ini:
Untuk pemahaman terperinci, silakan merujuk ke dokumen di bawah ini.
Dokter
Sekarang mari kita bicara tentang pemahaman terperinci tentang kerja kelas Scanner:
Ini adalah konstruktor untuk membuat instance Scanner.
Di sini kita melewati
InputStream
referensi yang tidak lain adalah aSystem.In
. Di sini terbukaInputStream
Pipa untuk input konsol.Dengan melewati System.in kode ini akan membuka soket untuk membaca dari konsol.
sumber