-1

我不能解决两个小时的问题。请帮我。

我的代码

   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
4

2 回答 2

3

您的程序对我来说运行良好,没有任何错误。我认为您使用的版本低于 java 1.7,请使用 1.7 或 1.8,因为java.io.Console在 java 1.7 中引入,我觉得您应该升级并检查控制台/终端上的简单代码。

于 2015-07-16T14:53:36.793 回答
1

从文档中:

返回与当前 Java 虚拟机关联的唯一 Console 对象(如果有)。

返回: 系统控制台(如果有),否则为 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);
}
于 2015-07-16T14:44:05.293 回答