java - 为什么我会收到空​​指针异常

标签 java console nullpointerexception

今天是我学习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/

相关文章:

java - 使用 EJB 接口(interface)作为辅助类

c++ - 用sscanf使用指向float[3]的指针,得到异常

java - Gradle 构建具有传递依赖关系的多模块项目

java - Autosys 文件观察器

javascript - NodeJS 中的缩进式多行日志记录

javascript - 从 chrome 控制台运行命令

eclipse - Ant 构建脚本完全挂起,控制台中没有消息

java - NullPointerException InAppBilling.IabHelper.launchPurchaseFlow(IabHelper.java :356)

java - 自动装箱后将 null 分配给原始数据类型

java - 使用分区器的 Spring Batch 线程