使用 Java 的 System.console() 访问用户输入
在 Java 中,System.console() 方法提供了一种与控制台并获取用户输入。然而,在尝试使用此方法时,遇到返回空对象的情况并不少见。
解决空对象问题
要解决此问题,至关重要了解 System.console() 方法可能在某些上下文中返回 null,通常是在 IDE 环境之外。发生这种情况是因为控制台并不总是在所有环境中可用,例如在 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!"); } } }
注意:如上所述在提供的解决方案中,System.console() 可能会在 IDE 中返回 null。因此,建议在 IDE 中使用更通用的输入法。
以上是为什么 Java 中 System.console() 有时会返回 Null,如何可靠地获取用户输入?的详细内容。更多信息请关注PHP中文网其他相关文章!