java.lang.NullPointerException - System.console()

java.lang.NullPointerException - System.console()

我两个小时都解决不了问题。请帮助我。

我的代码:

   package work.anart;
     import java.io.Console;
     public class Office {
         public static void main(String[] args) {
             Console cons = System.console();
             cons.printf("\n");
                 String nbook = "Notebook";
                 double price = 1.75;
             cons.printf(" 1 %10s worth %.2f euro \n", nbook, price);
             cons.printf(" 1 %10s worth %.2f euro \n", nbook, price);
         }
     }

运行:

Exception in thread "main" java.lang.NullPointerException
    at work.anart.Office.main(Office.java:8)
Java Result: 1

来自文档:

Returns the unique Console object associated with the current Java virtual >machine, if any.

Returns: The system console, if any, otherwise null.

我猜你没有任何与 JVM 关联的控制台。

但是您可以像这样使用 System PrintStream:

public static void main(String[] args){
    String nbook = "Notebook";
    double price = 1.75;
    System.out.printf(Locale.ENGLISH, " 1 %10s worth %.2f euro \n", nbook, price);
}

你的程序对我来说运行良好,没有任何问题 errors.I 认为你使用的版本低于 java 1.7,请使用 1.7 或 1.8,因为 java.io.Console 是在 [=15] 中引入的=] 1.7,我觉得你应该升级并检查你的 console/terminal.

上的简单代码