Mengakses Input Pengguna dengan System.console() dalam Java
Apabila menggunakan kelas Console untuk mendapatkan semula input pengguna, anda mungkin menghadapi masalah di mana System.console() mengembalikan nilai nol. Ini biasanya disebabkan oleh konsol tidak tersedia dalam persekitaran tertentu, seperti menggunakan Java dalam Persekitaran Pembangunan Bersepadu (IDE).
Penyelesaian:
1 . Gunakan System.console() Di Luar IDE:
Jika kod bertujuan untuk dijalankan di luar IDE, gunakan pendekatan berikut:
System.out.print("Enter input: "); String input = System.console().readLine();
2 . Gunakan BufferedReader:
Sebagai alternatif, anda boleh menggunakan BufferedReader untuk mendapatkan semula input, yang berfungsi di dalam dan di luar IDE:
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class InputReader { 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:
Adalah penting untuk ambil perhatian bahawa System.console() mengembalikan null apabila digunakan dalam IDE. Jika menggunakan System.console() adalah penting, sila rujuk kepada penyelesaian yang disediakan oleh McDowell.
Atas ialah kandungan terperinci Mengapa System.console() 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!