代码之家  ›  专栏  ›  技术社区  ›  Kas Elvirov

java.lang.NullPointerException-System.console()

  •  -1
  • Kas Elvirov  · 技术社区  · 9 年前

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

    我的代码 :

       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
    
    2 回复  |  直到 9 年前
        1
  •  3
  •   Dhanendra Pratap Singh Bhushan Uniyal    9 年前

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

        2
  •  1
  •   Community CDub    4 年前

    根据文档:

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

    返回:系统控制台(如果有),否则为空。

    我想您没有任何与JVM关联的Console。

    但您可以这样使用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);
    }