ホームページ > Java > &#&チュートリアル > Java で System.console() が Null を返すのはなぜですか? ユーザー入力を確実に取得するにはどうすればよいですか?

Java で System.console() が Null を返すのはなぜですか? ユーザー入力を確実に取得するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-10 05:51:16
オリジナル
350 人が閲覧しました

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

Java の System.console() を使用したユーザー入力へのアクセス

Console クラスを利用してユーザー入力を取得すると、問題が発生する可能性がありますここで、System.console() は null 値を返します。これは通常、統合開発環境 (IDE) 内での Java の使用など、特定の環境でコンソールが使用できないことが原因です。

解決策:

1 。 IDE の外部で System.console() を使用する:

コードを IDE の外部で実行する場合は、次のアプローチを使用します:

System.out.print("Enter input: ");
String input = System.console().readLine();
ログイン後にコピー

2 。 BufferedReader を使用します:

または、入力の取得に BufferedReader を使用できます。これは 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!");
        }
    }
}
ログイン後にコピー

注:

次の場合に System.console() が null を返すことに注意することが重要です。 IDE で使用されます。 System.console() の使用が不可欠な場合は、McDowell が提供するソリューションを参照してください。

以上がJava で System.console() が Null を返すのはなぜですか? ユーザー入力を確実に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート