我无法解决这个问题两个小时。请帮帮我。
我的代码:
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
答案 0 :(得分:3)
你的程序对我来说运行良好没有任何错误。我认为你使用的版本比java 1.7少,请使用1.7或1.8,因为在java 1.7中引入了java.io.Console
,我觉得你应该升级并检查一下控制台/终端上的简单代码。
答案 1 :(得分: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);
}