Mengakses Input Pengguna dengan System.console() Java
Di Java, kaedah System.console() menyediakan cara berinteraksi dengan konsol dan mendapatkan input pengguna. Walau bagaimanapun, apabila cuba menggunakan kaedah ini, ia adalah perkara biasa untuk menemui objek nol yang dikembalikan.
Menyelesaikan Masalah Isu Objek Null
Untuk menyelesaikan isu ini, adalah penting untuk memahami bahawa kaedah System.console() mungkin mengembalikan null dalam konteks tertentu, biasanya di luar persekitaran IDE. Ini berlaku kerana konsol tidak sentiasa tersedia dalam semua persekitaran, seperti semasa menjalankan kod anda dalam IDE.
Kaedah Input Alternatif
Untuk mengatasi had ini dan dapatkan input pengguna dengan berkesan, pertimbangkan untuk memanfaatkan kaedah alternatif:
System.out.print("Enter something:"); String input = System.console().readLine();
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Test { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter String"); String s = br.readLine(); System.out.print("Enter Integer:"); try { int i = Integer.parseInt(br.readLine()); } catch(NumberFormatException nfe) { System.err.println("Invalid Format!"); } } }
Nota: Seperti yang dinyatakan dalam penyelesaian yang disediakan, System.console() boleh mengembalikan null dalam IDE. Oleh itu, adalah disyorkan untuk menggunakan kaedah input yang lebih serba boleh apabila bekerja dalam IDE.
Atas ialah kandungan terperinci Mengapa System.console() Kadang-kadang Mengembalikan Null dalam Java dan Bagaimana Saya Boleh Mendapatkan Input Pengguna dengan Boleh Dipercayai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!