日期:2014-05-20  浏览次数:21005 次

请教为什么会报NullPointerException

import java.io.Console;

public class NewConsole {
public static void main(String[] args) {
Console c = System.console();
char[] pw = new char[10];
pw = c.readPassword("%s", "pw: ");
}
}


Exception in thread "main" java.lang.NullPointerException
at NewConsole.main(NewConsole.java:7)

pw = c.readPassword("%s", "pw: ");这一句是什么问题呢?
如果改成pw = c.readPassword();还是一样的错误

------解决方案--------------------
这个代码要在控制台运行,System.console();是获取控制台窗口,
你在开发工具中Console c = System.console();获取不到控制台窗口c为null,所以报空指针异常
要是想运行的话,将类文件放在文件目录(比如放在c盘),win+r,输入cmd打开控制台,