【发布时间】:2011-04-14 03:10:43
【问题描述】:
今天是我学习java的第一天:)
我在运行一个非常简单的示例时遇到了问题(不是一个好的开始)。
这只是一个简单的示例,它要求用户输入并将其打印出来,但是当我尝试从控制台读取一行时出现空指针异常。
我不明白,因为一切似乎都被实例化了。
public static void main(String[] args) {
// TODO code application logic here
Console console = System.console();
String userinput;
userinput= console.readLine("Enter input: ");
/* Creates list for planets */
ArrayList outputlist= new ArrayList();
outputlist.add(userinput); // Adds users input to the list
outputlist.add("an entry"); // Adds a string to the list
System.out.println("\nTwo items: " + outputlist);
}
编辑 1
正如许多人指出的那样,当我尝试从控制台读取一行时会引发错误,因为控制台为空(即使我正在实例化它?)。
我觉得问这个有点傻,但我怎样才能让控制台“不为空”。我以为我是通过使用 Console console = System.console() 来做的。
我对工作流程的期望是使用 netbeans 编写一个简单的用户输入。 点击调试按钮。 看到一个屏幕弹出。 输入一些文字。 查看输出。
编辑 2
好的
经过一番挖掘,事实证明您不能在 netbeans 中使用 system.console。 我不明白为什么。 我只是使用扫描仪。
现在我不确定接受 o-0 的答案是什么
【问题讨论】:
-
你能在这里发布异常吗?
-
如果您不在终端中运行代码,
System.console()可以返回 null。您是否在 IDE 中运行此代码? -
@McD:这是目前唯一可能的原因。您应该将其发布为答案:)
-
嗯,我在 netbeans 中运行代码。我基本上只是写了代码并点击了调试按钮
-
它必须是 System.console()。您没有对会导致空指针异常的对象执行任何其他操作。正如@McDowell 指出的那样, System.console() 可以返回一个空值。
标签: java console nullpointerexception