在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中文網其他相關文章!