java - 如何在同一行中同时打印 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
谢谢!
解决方案
现在发生的事情是编译器看到您正在尝试使用运算符将 adouble
和 a添加boolean
在一起+
,但它不知道该怎么做。一种选择是使用以下代码:
System.out.println("" + money + isTrue);
第一个 String 文字告诉编译器添加 aString
和 a double
,编译器可以通过将 a 隐式转换double
为 a 来成功完成String
。同样的事情发生在boolean
.
由于String
是一个类,double
并且boolean
是原始类型,因此在 C# 中不能像在 C# 中那样在两者之间进行强制转换(有关详细信息,请参见此处)。
这会在运行时产生您预期的输出:
9999.99false
推荐阅读
- php - 图片上传无需刷新和更改背景
- excel - 如何验证两个单元格是否相等,如果不相等,则在上方空行并继续?
- recursion - 递归方案
- php - 使用 charset 参数时,PDO 获取字段中的空格
- javascript - 如何销毁嵌套在 ES6 对象中的两个变量
- go - runtime.memclrNoHeapPointers 有什么作用?
- c# - 在选择其他 ComboBox C# 后使用值填充 ComboBox 时出现问题
- canvas - 画布迷宫游戏流畅动画
- kendo-react-ui - React Kendo Grid 动态调整高度
- javascript - 转换表格中的特定值以避免 1.0 不等于 1