简单的打印方法出现奇怪的错误

时间:2018-01-16 03:24:35

标签: java intellij-idea

我开始学习Java工作,但即使是最简单的#34; hello world"脚本由于某种原因,我无法运行。这是代码:

import java.io.Console;

class test2 {
    public static void main(String[] args) {
        Console console = System.console();
        console.printf("Test");
    }
}

我使用IntelliJ运行此操作,而我从控制台获取的错误是

Exception in thread "main" java.lang.NullPointerException
    at test2.main(testclass.java:6)

我的研究基本上表明printf方法是一个更新的" (并且我用一点讽刺的方式说)方法,但那只是版本1.5及以上版本(不要引用我的内容)。

我试图找到答案,说明为什么我会收到此错误,但没有任何指示我指向正确的方向。非常感谢任何和所有的帮助!

1 个答案:

答案 0 :(得分:0)

根据我的经验Console很少在IDE中运行。如果您从CLI运行程序,它就会起作用,而不是在您构建它时。但是,如果您使用Sys-outs(我称之为)来提供输出,那么您的代码应该可以正常工作。

换句话说,这些行:

Console console = System.console();
console.printf("Test");

可以废弃并更改为:

System.out.println("Test"); 

<强> 更新

快速搜索让我了解了这个页面,解释了为什么Console通常不适用于IDE和解决方案:https://stackoverflow.com/a/26473083/8972283