Membaca dan Menulis Input Pengguna di Java

1. Perkenalan

Dalam tutorial singkat ini, kami akan mendemonstrasikan beberapa cara menggunakan konsol untuk input dan output pengguna di Java .

Kita akan melihat beberapa metode kelas Scanner untuk menangani masukan, dan kemudian kita akan menunjukkan beberapa keluaran sederhana menggunakan System.out .

Terakhir, kita akan melihat bagaimana menggunakan kelas Console , tersedia sejak Java 6, untuk masukan dan keluaran konsol.

2. Membaca dari System.in

Untuk contoh pertama kita, kita akan menggunakan kelas Scanner dalam paket java.util untuk mendapatkan masukan dari System.in - aliran masukan "standar":

Scanner scanner = new Scanner(System.in);

Mari gunakan metode nextLine () untuk membaca seluruh baris input sebagai String dan maju ke baris berikutnya:

String nameSurname = scanner.nextLine();

Kita juga bisa menggunakan metode next () untuk mendapatkan token input berikutnya dari aliran:

String gender = scanner.next();

Jika kita mengharapkan input numerik, kita bisa menggunakan nextInt () untuk mendapatkan input berikutnya sebagai primitif int , dan, demikian pula, kita bisa menggunakan nextDouble () untuk mendapatkan variabel tipe double :

int age = scanner.nextInt(); double height = scanner.nextDouble();

Kelas Scanner juga menawarkan metode hasNext_Prefix () yang mengembalikan nilai true jika token berikutnya dapat diinterpretasikan sebagai tipe data yang sesuai .

Misalnya, kita bisa menggunakan hasNextInt ()metode untuk memeriksa apakah token berikutnya dapat diartikan sebagai bilangan bulat:

while (scanner.hasNextInt()) { int nmbr = scanner.nextInt(); //... }

Selain itu, kita dapat menggunakan metode hasNext (Pola pola) untuk memeriksa apakah token masukan berikut cocok dengan pola :

if (scanner.hasNext(Pattern.compile("www.baeldung.com"))) { //... }

Selain menggunakan kelas Scanner , kita juga dapat menggunakan Input StreamReader dengan System.in untuk mendapatkan input dari konsol :

BufferedReader buffReader = new BufferedReader(new InputStreamReader(System.in));

Dan kemudian kita dapat membaca input dan menguraikannya menjadi integer:

int i = Integer.parseInt(buffReader.readLine()); 

3. Menulis ke System.out

Untuk keluaran konsol, kita dapat menggunakan System.out - turunan dari kelas PrintStream , yang merupakan jenis OutputStream .

Dalam contoh kami, kami akan menggunakan output konsol untuk memberikan prompt untuk input pengguna dan menampilkan pesan akhir kepada pengguna.

Mari gunakan metode println () untuk mencetak String dan mengakhiri baris :

System.out.println("Please enter your name and surname: ");

Bergantian, kita dapat menggunakan metode print () , yang bekerja mirip dengan println () , tetapi tanpa mengakhiri baris :

System.out.print("Have a good"); System.out.print(" one!");

4. Menggunakan Kelas Konsol untuk Input dan Output

Di JDK 6 dan yang lebih baru, kita dapat menggunakan kelas Console dari paket java.io untuk membaca dan menulis ke konsol.

Untuk mendapatkan objek Konsol , kita akan memanggil System.console () :

Console console = System.console();

Selanjutnya, mari gunakan metode readLine () dari kelas Console untuk menulis baris ke konsol dan kemudian membaca baris dari konsol :

String progLanguauge = console.readLine("Enter your favourite programming language: "); 

Jika kita perlu membaca informasi sensitif, seperti kata sandi, kita bisa menggunakan metode readPassword () untuk meminta kata sandi pengguna dan membaca kata sandi dari konsol dengan echoing dinonaktifkan :

char[] pass = console.readPassword("To finish, enter password: "); 

Kita juga bisa menggunakan Console kelas untuk menulis output ke konsol, misalnya, menggunakan printf () metode dengan String argumen:

console.printf(progLanguauge + " is very interesting!"); 

5. Kesimpulan

Dalam artikel ini, kami menunjukkan cara menggunakan beberapa kelas Java untuk melakukan input dan output pengguna konsol.

Seperti biasa, contoh kode dari tutorial ini disediakan di GitHub.