Java 如何在同一行中打印bool和double?
我正在处理这个非常简单的java问题,它要求打印对象money和isTrue,而不跳过一行 我尝试将两个对象都转换为字符串,但都不起作用。我知道我可以有两个打印语句,但它们会打印在两个不同的行上。我需要两者都打印为9999.99falseJava 如何在同一行中打印bool和double?,java,Java,我正在处理这个非常简单的java问题,它要求打印对象money和isTrue,而不跳过一行 我尝试将两个对象都转换为字符串,但都不起作用。我知道我可以有两个打印语句,但它们会打印在两个不同的行上。我需要两者都打印为9999.99false class Main { public static void main(String[] args) { double money = 9999.99; boolean isTrue = false; System.out.pri
class Main {
public static void main(String[] args) {
double money = 9999.99;
boolean isTrue = false;
System.out.println(money + isTrue);
}
}
预期的输出为9999.999false
class Main {
public static void main(String[] args) {
double money = 9999.99;
boolean isTrue = false;
System.out.println(money + isTrue);
}
}
谢谢 现在发生的事情是,编译器看到您正试图使用
+
运算符将双精度
和布尔值
添加到一起,但它不知道如何操作。一个选项是使用以下代码:
System.out.println("" + money + isTrue);
第一个字符串文本告诉编译器添加一个String
和一个double
,编译器可以通过将double
隐式转换为字符串来成功地完成这项工作。同样的情况也发生在布尔值上
由于String
是一个类,double
和boolean
是基本类型,因此在这两种类型之间进行强制转换不像在C#中那样有效(有关更多信息,请参阅)
这将在运行时生成预期输出:
9999.99false
现在发生的事情是,编译器看到您正试图使用+
运算符将双精度
和布尔值
添加到一起,但它不知道如何操作。一个选项是使用以下代码:
System.out.println("" + money + isTrue);
第一个字符串文本告诉编译器添加一个String
和一个double
,编译器可以通过将double
隐式转换为字符串来成功地完成这项工作。同样的情况也发生在布尔值上
由于String
是一个类,double
和boolean
是基本类型,因此在这两种类型之间进行强制转换不像在C#中那样有效(有关更多信息,请参阅)
这将在运行时生成预期输出:
9999.99false
System.out.println(“+money+isTrue”)但是我更喜欢System.out.printf(“%.2f%b%n”,money,isTrue)代码>系统输出打印(货币);系统输出打印(isTrue)
您是否知道System.out.print
,它类似于println
但没有开始新行?如果您使用print两次而不是println,它们将位于同一行我尝试将两个对象强制转换为字符串,但不起作用。
System.out.println(“+money+isTrue”)但是我更喜欢System.out.printf(“%.2f%b%n”,money,isTrue)代码>系统输出打印(货币);系统输出打印(isTrue)
您是否知道System.out.print
,这类似于println
,但没有开始新行?如果您使用print两次而不是println,它们将位于同一行我尝试将两个对象强制转换为字符串,但不起作用。
非常简单。非常感谢你!其实很简单。非常感谢你!