使用printf打印一个布尔值

时间:2014-11-30 02:44:40

标签: java boolean printf

我想用boolean打印printf值,但我不知道怎么做。我正在寻找的是像这个虚构的代码

boolean car = true;
System.out.printf("%b",car);

预期输出应为:

true

我该怎么办?或者还有其他方法可以获得预期的输出吗?

3 个答案:

答案 0 :(得分:7)

我认为您遇到了缓冲问题,因此您的程序会在缓冲区刷新之前退出。当您使用printf()print()时,如果没有换行符,则不一定会刷新。您可以使用明确的flush()

boolean car = true;
System.out.printf("%b",car);
System.out.flush();

或添加换行符(也会导致flush()

boolean car = true;
System.out.printf("%b%n",car);

另请参阅Buffered Streams - The Java Tutorials刷新缓冲流,其中部分说明

  

某些缓冲的输出类支持 autoflush ,由可选的构造函数参数指定。启用autoflush时,某些键事件会导致刷新缓冲区。例如,autoflush PrintWriter对象会在每次调用printlnformat时刷新缓冲区。

答案 1 :(得分:3)

好处是它打印了值true,你的虚构代码没有任何问题。或者你也可以尝试

boolean car = true;
System.out.print(car);
System.out.printf("%b", car);

答案 2 :(得分:-2)

boolean car =true;

System.out.println(""+car);