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 サイトの他の関連記事を参照してください。