今天刚开始学习java,似乎无法弄清楚这一点。我正在关注 learnjavaonline.org 上的教程,该教程会教您一些内容,然后要求您编写代码来执行特定操作,然后检查输出以查看其是否正确。问题是,如果它不正确,它不会说明原因,也不会为您提供正确代码的示例。
它希望我使用所有原语输出一个字符串“H3110 w0r1d 2.0 true”
我想出了这个
public class Main {
public static void main(String[] args) {
char h = 'H';
byte three = 3;
short one = 1;
boolean t = true;
double ten = 10;
float two = (float) 2.0;
long won = 1;
int zero = 0;
String output = h + three + one + ten + " " + "w" + zero + "r" + won + "d " + two + " " + t;
System.out.println(output);
}
}
但它输出86.0 w0r1d 2.0 true
我怎样才能做到不添加所有整数,而是连续显示它们?
这一行的问题:
String output = h + three + one + ten + " " + "w" + zero + "r" + won + "d " + two + " " + t;
是运算是从左到右执行的,所以它首先求和h + three
(其评估结果为int
) 进而one
进而ten
。到目前为止,您已经有了一个数值(int
)然后将被“求和”为String
。尝试这样的事情:
String output = "" + h + three + one + ten + " " + "w" + zero + "r" + won + "d " + two + " " + t;
在第二种情况下,您的表达式将以String
对象,将其余操作评估为String
s.
你当然可以使用""
在开头或任何其他计算结果为String
, like String.valueOf(h)
。在最后一种情况下,您不需要使用String.valueOf()
对于其他操作数,因为第一个操作数已经是字符串。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)