使用printf打印一个布尔值

dar*_*lix 8 java printf boolean

我想打印一个booleanprintf,但我不知道如何.我正在寻找的是像这个虚构的代码

boolean car = true;
System.out.printf("%b",car);
Run Code Online (Sandbox Code Playgroud)

预期产量应为:

true
Run Code Online (Sandbox Code Playgroud)

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

Ell*_*sch 8

我假设您遇到缓冲问题,以便在缓冲区刷新之前退出程序.当您使用printf()print()没有换行时它不一定是冲洗.你可以使用一个明确的flush()

boolean car = true;
System.out.printf("%b",car);
System.out.flush();
Run Code Online (Sandbox Code Playgroud)

或添加一个新行(这也会导致flush())

boolean car = true;
System.out.printf("%b%n",car);
Run Code Online (Sandbox Code Playgroud)

另请参阅缓冲流 - Java教程,刷新缓冲流,部分说明

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


sin*_*ter 3

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

boolean car = true;
System.out.print(car);
System.out.printf("%b", car);
Run Code Online (Sandbox Code Playgroud)