Java の System.console() を使用したユーザー入力へのアクセス
Java では、System.console() メソッドは、以下と対話する手段を提供します。コンソールを使用してユーザー入力を取得します。ただし、このメソッドを利用しようとすると、null オブジェクトが返されることは珍しくありません。
Null オブジェクトの問題のトラブルシューティング
この問題を解決するには、次のことが重要です。 System.console() メソッドは、特定のコンテキスト (通常は IDE 環境の外) では null を返す場合があることを理解してください。これは、IDE 内でコードを実行する場合など、コンソールがすべての環境で常に利用できるわけではないために発生します。
代替入力メソッド
この制限を克服して取得するにはユーザー入力を効果的に行うには、代替方法の活用を検討してください:
System.out.print("Enter something:"); String input = System.console().readLine();
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!"); } } }
注: 前述のとおり提供されたソリューションでは、IDE 内で System.console() が null を返す場合があります。したがって、IDE 内で作業する場合は、より汎用性の高い入力方法を利用することをお勧めします。
以上がJava で System.console() が時々 Null を返すのはなぜですか? ユーザー入力を確実に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。