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

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

Barbara Streisand
Lepaskan: 2024-12-10 05:51:16
asal
328 orang telah melayarinya

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

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();
Salin selepas log masuk

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!");
        }
    }
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan