今天是我第一天学习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编写简单的用户输入。 点击调试按钮。 看到一个弹出的屏幕。 输入一些文字。 查看输出。
EDIT 2
O.K
小挖周围的事实证明,你不能的NetBeans中使用system.console后。 我不明白为什么。 我只是用户扫描仪。
现在我不知道该接受什么样的答案邻0
你可以在这里发布例外吗? – casablanca 2010-09-18 16:14:58
'如果不在终端中运行代码,System.console()'可以返回null。你在IDE中运行这个代码吗? – McDowell 2010-09-18 16:15:04
@McD:这是唯一可能的原因。您应该将其作为回答:) – BalusC 2010-09-18 16:16:50