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

使用Console的format()函数实现格式化输出
这是我们课本后的一道习题,代码如下:要求使用Console的format函数实现格式化输出
我看帮助文档,Console中format和printf用法一样,为什么我却运行不出来啊?您帮我调试下
import java.io.Console;
public class FormatDemo
{
public static void main(String[] args)
{
int i = 100;
boolean status = true;
String str="Welcome";
Console cons=System.console();
cons.format("%d %b %s",i,status,str);

}
}

运行提示这样的错误:
Exception in thread "main" java.lang.NullPointerException
at IntegerDemo.main(IntegerDemo.java:10)
请各位大神知道format的具体使用方法,有事例代码是最好的,,感恩不尽

------解决方案--------------------
当java程序是从cmd控制台中运行的时候,并且标准输入输出流没有被重定向过的话,console是存在的。当vm是自动运行的(应该是包含从ide运行这种情况,比如eclipse等等,system.console()返回的就是null),
所以cons == null会出现空指针异常。。。
------解决方案--------------------
跑控制台下去执行,不要在 IDE 的控制台中执行,要操作系统的控制台!