java.lang.NullPointerException-System.console()

java.lang.NullPointerException-System.console(),java,nullpointerexception,java.lang.class,Java,Nullpointerexception,Java.lang.class,我两个小时解决不了这个问题。请帮帮我 我的代码: 运行: 从文件中: 返回与当前Java virtual>machine关联的唯一控制台对象(如果有) 返回:系统控制台(如果有),否则为空 我猜您没有任何与JVM关联的控制台 但您可以像这样使用系统PrintStream: public static void main(String[] args){ String nbook = "Notebook"; double price = 1.75; Sys

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

我的代码:

运行:


从文件中:

返回与当前Java virtual>machine关联的唯一控制台对象(如果有)

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

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

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

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

如果您花了2个小时在上面,您肯定可以告诉我们更多关于它的信息,而不是粘贴代码。此代码的可能副本正在工作,但我需要使用System.console。在这本书中,这个主题的任务是我写的代码。导入java.io.Console;公共类测试{public static void mainString[]args引发异常{Console Console=System.Console;if Console==null{System.out.println无法获取控制台;return;}字符串line=Console.readLine;Console.printfI看到这一行:%s,line;}他告诉我:无法获取控制台,我有JavaTM SE运行时环境构建1.8.0_45-B14;我编写了这段代码。导入java.io.Console;公共类测试{public static void mainString[]args引发异常{Console Console=System.Console;if Console==null{System.out.println无法获取控制台;return;}字符串line=Console.readLine;Console.printfI看到这一行:%s,line;}他对我说:无法获取控制台我有JavaTM SE运行时环境构建1.8.0_45-b14Artem我认为您正在使用eclipse工具或可能是另一种工具来运行此程序,因为eclipse将您的程序作为后台进程运行,而不是作为系统控制台的顶级进程运行,或者依赖于控制台io的不同IDE处理。您可以使用像import java.util.Scanner这样的Scanner类;字符串数据;扫描仪scanInput=新的ScannerSystem.in;数据=scanInput.nextLine;scanInput.close;System.out.printlndata;
Exception in thread "main" java.lang.NullPointerException
    at work.anart.Office.main(Office.java:8)
Java Result: 1
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);
}