摘要 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在loops.Escapey.main(Escapey.java:9)
答案 0 :(得分:0)
我假设您正在将此程序运行到某些IDE中。由于System.console
返回附加的控制台,因此,如果将其运行到IDE中,它将返回NULL。更好的方法是使用Scanner类。如果您确实要使用System.console
,则必须在某些控制台上对其进行测试。如果在Mac上,请运行终端。在Linux上,任何终端应用程序都可以使用。
答案 1 :(得分:0)
如果我们在IDE(Intellij)中运行它,则会引发空指针异常。由于这与控制台有关,因此我尝试在命令行中执行此操作,并且效果很好。
在终端或命令行中执行这些步骤,它将起作用
1) javac Escapey.java
2) java Escapey