首页 > 解决方案 > ar.readLine 没有读取用户的输入?

问题描述

总结 1. 我正在导入 java.io.console,我的代码中没有任何错误,代码是正确的,我想,它在 eclipse 软件中出现了一些错误......错误:

Exception in thread "main" java.lang.NullPointerException   at
loops.Escapey.main(Escapey.java:9)

编码:

package loops;

import java.io.Console;
public class Escapey {
public static void main(String[] args) {

    Console ar = System.console(); // creating a new object for console

    String name = ar.readLine("how old are you ?"); //reads a user input 
    System.out.printf("%s - pretty age",name);
}
}

输出:-我除了输出你几岁?18 18 - 漂亮的年龄但实际输出正在出错......线程“main”中的异常 java.lang.NullPointerException at loops.Escapey.main(Escapey.java:9)

标签: javaioconsole

解决方案


我假设您正在将其运行到某个 IDE 中。由于System.console返回附加的控制台,如果你在 IDE 中运行它,它将返回 NULL。更好的方法是使用 Scanner 类。如果您真的想使用System.console,则必须在某些控制台上对其进行测试。如果在 Mac 上,请运行终端。在 Linux 上,任何终端应用程序都可以工作。


推荐阅读