请教为什么会报NullPointerException

chengdudashu 2013-12-17 12:21:57

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();还是一样的错误
...全文
140 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
UDown 2013-12-17
  • 打赏
  • 举报
回复
这个代码要在控制台运行,System.console();是获取控制台窗口,
你在开发工具中Console c = System.console();获取不到控制台窗口c为null,所以报空指针异常。
要是想运行的话,将类文件放在文件目录(比如放在c盘),win+r,输入cmd打开控制台,
麦田 2013-12-17
  • 打赏
  • 举报
回复
Console c = System.console(); 这句有误
失落夏天 2013-12-17
  • 打赏
  • 举报
回复
你 System.out.println(c); 看一下
狂热的土豆 2013-12-17
  • 打赏
  • 举报
回复
因为c变量为空
依琳小师妹 2013-12-17
  • 打赏
  • 举报
回复
引用 6 楼 magi1201 的回复:
引用 5 楼 magi1201 的回复:
参考 java.exe 与 javaw.exe 区别
eclipse 里面执行javaw.exe,拿不到Console 控制台的,放cmd 窗口通过java.exe可以
其实也是可以拿到的,只是默认eclipse配置jre,如果手动配置成jdk,应该就可以了。希望楼主验证下! 顺便给自己拉个票,CSDN博客之星评选,欢迎大家投我一票http://vote.blog.csdn.net/blogstaritem/blogstar2013/zhangerqing
tony4geek 2013-12-17
  • 打赏
  • 举报
回复
System.console(); null
姜小白- 2013-12-17
  • 打赏
  • 举报
回复
引用 5 楼 magi1201 的回复:
参考 java.exe 与 javaw.exe 区别
eclipse 里面执行javaw.exe,拿不到Console 控制台的,放cmd 窗口通过java.exe可以
姜小白- 2013-12-17
  • 打赏
  • 举报
回复

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧