无法调用“java.io.Console.readLine()”,因为“c”为空 [重复]

Cannot invoke "java.io.Console.readLine()" because "c" is null [duplicate]

提问人:Santhosh Kumar A 提问时间:11/19/2022 最后编辑:ViniSanthosh Kumar A 更新时间:11/19/2022 访问量:1287

问:

我正在尝试使用从用户那里获取输入。但是,当我运行以下代码时,我得到了一个(我正在尝试从用户那里获取输入)。System.consoleNullPointerException

import java.io.*;
public class Systemlearn {
    public static void main(String[] args)throws IOException {
        Console c=System.console();
        System.out.println("Enter the Name:");
        String str=c.readLine();
        System.out.println(str);
    }

}

输出:

Enter the Name:
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "java.io.Console.readLine()" because "c" is null
    at week5.Systemlearn.main(Systemlearn.java:7)
Java 异常 nullPointerException 控制台 system.in

评论


答:

0赞 Vini 11/19/2022 #1

您是否从 IDE 运行它?如果是,那么这就是问题所在,因为在 IDE 环境中不可用。System.console()

尝试从控制台(命令提示符/终端)运行它,它应该可以正常工作。

编辑:刚刚在我的控制台中尝试过,它起作用了(见下面的屏幕截图)

Screenshot