Membaca Input Dari Konsol Java
Menggunakan Scanner untuk Membaca Input
import java.util.Scanner;
public class Main {
public static void
main(String[] args) {
Scanner scanner =
new Scanner(System.in);
System.out.print(
"Masukkan nama Anda: ");
String nama =
scanner.nextLine();
System.out.println("Halo, "
+ nama
+ "! Selamat datang.");
scanner.close();}
}
Menggunakan BufferedReader untuk Membaca Input
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void
main(String[] args) {
BufferedReader reader
= new BufferedReader(
new InputStreamReader(System.in));
try {
System.out.print(
"Masukkan nama Anda: ");
String nama =
reader.readLine();
System.out.println("Halo, "
+ nama
+ "! Selamat datang.");
}
catch (IOException e)
{System.err.println(
"Error membaca input!");
e.printStackTrace();}
finally {
try {reader.close();}
catch (IOException e)
{System.err.println(
"Error saat menutup
BufferedReader!");
e.printStackTrace();}
}
}
}
Penggunaan Class Buffered Reader
Berikut adalah method classical Java untuk mendapatkan nilai input, yang diperkenalkan pada JDK1.0. Method ini digunakan untuk membungkus sistem System.in (standar input stream) pada InputStreamReader yang dibungkus pada sebuah BufferedReader, dimana nilai input dapat dibaca dari user pada baris perintah konsol.Contoh:
// Program Java untuk
// mendemonstrasikan
// BufferedReader.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Test {
public static void main(String[] args)
throws IOException
{
// Masukkan data menggunakan
// BufferReader.
BufferedReader reader = new BufferedReader(
new InputStreamReader(System.in));
// Membaca data menggunakan
// readLine.
String name = reader.readLine();
// Mencetak baris bacaan.
System.out.println(name);
}
}
Input:Maan
Output:
Auxiliary Space: O(1)
Maan
Catatan: untuk membaca tipe data lainnya, maka dapat menggunakan fungsi seperti Integer.parseInt(), Double.parseDouble(). Untuk dapat membaca nilai ganda, maka dapat menggunakan split().
Penggunaan Class Scanner
Ini mungkin metode yang paling disukai untuk menerima masukan. Tujuan utama class Scanner adalah untuk mengurai tipe dan string primitif menggunakan ekspresi reguler, namun juga dapat digunakan untuk membaca masukan dari pengguna di baris perintah.Method ini mungkin merupakan method yang paling disukai untuk menerima masukkan. Tujuan utama class Scanner adalah untuk mengurai tipe dan string primitif menggunakan ekspresi reguler, namun juga dapat digunakan untuk membaca masukkan dari pengguna pada baris perintah.
Contoh:
// Program Java untuk
// mendemonstrasikan cara
// kerja Scanner Java.
import java.util.Scanner;
class GetInputFromUser {
public static void main(String args[])
{
// Penggunaan Scanner untuk
// mendapatkan nilai input
// dari user.
Scanner in = new Scanner(System.in);
String s = in.nextLine();
System.out.println("You entered string "
+ s);
int a = in.nextInt();
System.out.println("You entered integer "
+ a);
float b = in.nextFloat();
System.out.println("You entered float "
+ b);
}
}
Input:MakandanMakan
12
3.4
Output:
You entered string MakandanMakan
You entered integer 12
You entered float 3.4
Penggunaan Class Console
Tidak hanya dapat digunakan untuk membaca nilai input biasa, namun juga bisa digunakan untuk menerima nilai input seperti kata sandi dari pengguna tanpa mengulangi karakter yang dimasukkan sebelumnya.Contoh:
// Program Java untuk
// mendemonstrasikan cara
// kerja System.console().
// Program ini tidak akan
// bekerja pada IDEs sebagai
// System.console() yang
// membutuhkan console sebagai
// pengoperasiannya.
public class Sample {
public static void main(String[] args)
{
// Penggunaan console untuk
// menginput data dari user.
String name = System.console().readLine();
System.out.println("You entered string " + name);
}
}
Input:MakandanMakan
Output:
You entered string MakandanMakan
Menggunakan Argumen Command Line
Input user paling banyak dugunakan untuk proses penkodean program yang kompetitif, dimana baris perintah akang disimpan dalam format String.Dengan menggunakan method parseInt dari class Integer mengubah nilai argumen string menjadi Integer.
Contoh:
// Program untuk memeriksa
// untuk argumen baris
// perintah.
class Hello {
public static void main(String[] args)
{
// Periksa apakah panjang args
// array lebih dari 0.
if (args.length > 0) {
System.out.println(
"The command line arguments are:");
// Iterasi array args dan
// mencetak argumen baris
// perintah.
for (String val : args)
System.out.println(val);
}
else
System.out.println("No command line "
+ "arguments found.");
}
}
Argumen Perintah Baris:javac MKN1.java
java Main Hello World
Output:
Hello
World
Menangani Tipe Data Lain
- Kemudahan Penggunaan: Kedua class, Scanner dan BufferedReader, relatif mudah digunakan untuk membaca input dari konsol. Keduanya menyediakan metode yang intuitif untuk membaca berbagai jenis tipe data.
- Interaksi dengan Pengguna yang Sederhana: Dengan membaca input dari konsol, pengembang dapat membangun interaksi yang sederhana antara pengguna dan program, yang memungkinkan pengguna untuk memberikan masukan langsung kepada program.
- Kemampuan Membaca Tipe Data Berbeda: Baik Scanner maupun BufferedReader mendukung pembacaan berbagai jenis tipe data, termasuk teks, angka, atau karakter. Hal ini memungkinkan aplikasi untuk menerima input yang beragam dari pengguna.
- Dukungan untuk Validasi Input: Kedua class ini memungkinkan untuk melakukan validasi input, misalnya dengan memeriksa apakah input sesuai dengan format yang diharapkan sebelum digunakan dalam program.
- Fleksibilitas dalam Penanganan Error: Baik Scanner maupun BufferedReader menyediakan penanganan error yang cukup baik melalui pengecualian (Exception). Hal ini memungkinkan pengembang untuk menangani situasi yang tidak terduga dengan cara yang elegan.
- Dukungan untuk Input dari Sumber Eksternal: Selain membaca dari konsol (System.in), kedua class ini juga mendukung pembacaan input dari sumber eksternal seperti file atau socket, yang membuatnya lebih fleksibel dalam berbagai skenario pengembangan.
- Optimalisasi Kinerja dengan BufferedReader: Jika kinerja menjadi perhatian, BufferedReader dapat menjadi pilihan yang lebih baik karena kemampuannya untuk membaca input dalam jumlah besar sekaligus, yang mengurangi overhead dan meningkatkan efisiensi.
- Sinkronisasi dalam Lingkungan Multithreading: Kedua class ini mempertimbangkan masalah sinkronisasi dalam lingkungan multithreading, meskipun BufferedReader cenderung lebih aman karena metodenya bersifat sinkronis.
Kesimpulan
5 komentar untuk "Membaca Input Dari Konsol Java"
Hubungi admin melalui Wa : +62-896-2414-6106
Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.
Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.
- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -
Apa yang dimaksud konsol Java?
BalasHapusKonsol Java menyediakan informasi tentang versi Java, direktori home pengguna, dan pesan kesalahan apapun yang terjadi ketika menjalankan applet atau aplikasi Java.
HapusUser dapat mengaktifkan konsol Java untuk platform Windows menggunakan panel kontrol Java atau icon Java yang ditampilkan pada sistem Windows.
HapusApa yang dimaksud dengan class konsol pada Java?
BalasHapusKonsol Java berfungsi untuk membaca karakter string sehingga user tidak perlu khawatir tentang proses pembungkusan pada System.in pada class Java.
Hapus