首页 > 解决方案 > 如何在同一行中同时打印 bool 和 double?

问题描述

我正在研究这个非常简单的 java 问题,它需要在不跳过一行的情况下打印对象 money 和 isTrue。

我尝试将两个对象都转换为字符串,但不起作用。我知道我可以有两个打印语句,但它们会打印在 2 个不同的行上。我需要两者都打印为 9999.99false

class Main {
  public static void main(String[] args) {
    double money = 9999.99;
    boolean isTrue = false;
    System.out.println(money + isTrue);
  }
}

预期的输出是 9999.99false

谢谢!

标签: java

解决方案


现在发生的事情是编译器看到您正在尝试使用运算符将​​ adouble和 a添加boolean在一起+,但它不知道该怎么做。一种选择是使用以下代码:

System.out.println("" + money + isTrue);

第一个 String 文字告诉编译器添加 aString和 a double,编译器可以通过将 a 隐式转换double为 a 来成功完成String。同样的事情发生在boolean.

由于String是一个类,double并且boolean是原始类型,因此在 C# 中不能像在 C# 中那样在两者之间进行强制转换(有关详细信息,请参见此处)。

这会在运行时产生您预期的输出:

9999.99false

推荐阅读