我正在尝试根据欧姆定律创建一个简单的计算器。所以这个想法是你可以填写2个变量,然后它会计算第三个变量。当我创建这个程序时,我发现了一个小问题,我不明白它是如何发生的,不幸的是我找不到答案。我试图打印一个显示完整计算的字符串。所以用户填写的 2 个变量和答案。在 Ohm 变量(本例中为“R”)之后,还应打印正确的符号。如下例所示,我可以在变量后添加符号的唯一方法是首先添加一个空字符串 ("")。否则unicode将被添加到变量中?!我做了一个简单的例子来说明我的问题:public class Main { public static void main(String[] args) { float R = 2.54f; float U = 4.00f; float I = R / U; char ohm = '\u2126'; System.out.println(R + "" + ohm + " (R) / " + U + "V (U) = " + I + "A (I)"); System.out.println(R + ohm + " (R) / " + U + "V (U) = " + I + "A (I)"); }}结果在控制台:2.54Ω (R) / 4.0V (U) = 0.635A (I)8488.54 (R) / 4.0V (U) = 0.635A (I)如您所见,第二次打印没有显示欧姆符号,而是向变量“R”添加了一个值。希望我已经把我的问题说清楚了。
1 回答
慕姐4208626
TA贡献1852条经验 获得超7个赞
R + ohm
执行 afloat
和 a的数字加法char
(这是一个整数类型)。因此,您会看到float
结果而不是您期望的字符串连接。float
您看到的结果是8486 + 2.54
(因为8486
是十六进制数的十进制值2126
)。
在您的第一条println
语句中,您通过将String
("") 连接到 来避免这种情况float
,结果是String
. 然后将 Ohmchar
连接到那个String
。
您也可以从空开始String
以获得所需的输出:
System.out.println("" + R + ohm + " (R) / " + U + "V (U) = " + I + "A (I)");
添加回答
举报
0/150
提交
取消