在 Java 中使用 System.console() 访问用户输入
使用 Console 类检索用户输入时,您可能会遇到问题其中 System.console() 返回空值。这通常是由于控制台在某些环境中不可用,例如在集成开发环境 (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() 在用于IDE。如果必须使用System.console(),请参考McDowell提供的解决方案。
以上是为什么 Java 中 System.console() 返回 Null,如何可靠地获取用户输入?的详细内容。更多信息请关注PHP中文网其他相关文章!