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

wtzytmuj  于 2022-11-20  发布在  Java
关注(0)|答案(1)|浏览(527)

此问题在此处已有答案

System.console() returns null(13个答案)
昨天关门了。
我试图通过使用System.console从用户那里获取输入。但是,当我运行下面的代码时,我得到了一个NullPointerException(我试图从用户那里获取输入)。

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)
nmpmafwu

nmpmafwu1#

您是否从IDE运行此程序?如果是,则这就是问题所在,因为System.console()在IDE环境中不可用。
尝试从控制台(命令提示符/终端)运行它,它应该工作正常。
编辑:刚刚在我的控制台上试过,它工作了(见下面的截图)

相关问题