Rumah >Java >javaTutorial >Mengapa System.console() Kadang-kadang Mengembalikan Null dalam Java dan Bagaimana Saya Boleh Mendapatkan Input Pengguna dengan Boleh Dipercayai?

Mengapa System.console() Kadang-kadang Mengembalikan Null dalam Java dan Bagaimana Saya Boleh Mendapatkan Input Pengguna dengan Boleh Dipercayai?

Barbara Streisand
Barbara Streisandasal
2024-12-22 01:04:23196semak imbas

Why Does System.console() Sometimes Return Null in Java, and How Can I Get User Input Reliably?

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:

  • Pencetakan Terus dan Bacaan:
System.out.print("Enter something:");
String input = System.console().readLine();
  • BufferedReader:
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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn