首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于console类的readline()方法的用法有关问题

2012-09-03 
关于console类的readline()方法的用法问题为了测试console类的readline()方法,我试了以下几种方案:1、[code

关于console类的readline()方法的用法问题
为了测试console类的readline()方法,我试了以下几种方案:
1、
[code=Java]
public   class   Consoletest   {
public   static   void   main(String[   args)   {
while(true){
String   str   =   System.console().readLine();
System.out.println(str);
}
}
}[/code]
2、
[code=Java]
public   class   Consoletest   {
                public   static   String   str=null;
public   static   void   main(String[]   args)   {
while(true){
str   =   System.console().readLine();
System.out.println(str);
}
}

}[/code]
3、
[code=Java]
public   class   Consoletest   {
public   static   void   main(String[]   args)   {
while(true){
String   str   =   new   String(System.console().readLine());
System.out.println(str);
}
}

}[/code]
但运行时均抛出java.lang.NullPointerException异常,求大神解释原因以及解决方案。

[解决办法]
那是以为控制台的console为空,所以会报空指针异常。
public class Consoletest{
public static void main(String[] args){ 
//测试一下是否为空,如果为空就返回,如果不为空进行循环输出
Console console=System.console();
if(console==null){
System.out.println("不能使用控制台");
return;
}
while(true){
String str=System.console().readLine();
System.out.println(str);
}
}
}
[解决办法]
以Javaw所执行的应用程式(eclipse)没有主控制台(console),所以取不到console物件,System.console()只能是null了。

热点排行