今天是我学习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()
。您没有对对象执行任何其他会导致空指针异常的操作。正如 @McDowell 所指出的,System.console()
可以返回 null 值
关于java - 为什么我会收到空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3742399/