我正在嘗試根據(jù)歐姆定律創(chuàng)建一個(gè)簡(jiǎn)單的計(jì)算器。所以這個(gè)想法是你可以填寫2個(gè)變量,然后它會(huì)計(jì)算第三個(gè)變量。當(dāng)我創(chuàng)建這個(gè)程序時(shí),我發(fā)現(xiàn)了一個(gè)小問(wèn)題,我不明白它是如何發(fā)生的,不幸的是我找不到答案。我試圖打印一個(gè)顯示完整計(jì)算的字符串。所以用戶填寫的 2 個(gè)變量和答案。在 Ohm 變量(本例中為“R”)之后,還應(yīng)打印正確的符號(hào)。如下例所示,我可以在變量后添加符號(hào)的唯一方法是首先添加一個(gè)空字符串 ("")。否則unicode將被添加到變量中?!我做了一個(gè)簡(jiǎn)單的例子來(lái)說(shuō)明我的問(wèn)題: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)"); }}結(jié)果在控制臺(tái):2.54Ω (R) / 4.0V (U) = 0.635A (I)8488.54 (R) / 4.0V (U) = 0.635A (I)如您所見,第二次打印沒(méi)有顯示歐姆符號(hào),而是向變量“R”添加了一個(gè)值。希望我已經(jīng)把我的問(wèn)題說(shuō)清楚了。
1 回答

慕姐4208626
TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超7個(gè)贊
R + ohm
執(zhí)行 afloat
和 a的數(shù)字加法char
(這是一個(gè)整數(shù)類型)。因此,您會(huì)看到float
結(jié)果而不是您期望的字符串連接。float
您看到的結(jié)果是8486 + 2.54
(因?yàn)?code>8486是十六進(jìn)制數(shù)的十進(jìn)制值2126
)。
在您的第一條println
語(yǔ)句中,您通過(guò)將String
("") 連接到 來(lái)避免這種情況float
,結(jié)果是String
. 然后將 Ohmchar
連接到那個(gè)String
。
您也可以從空開始String
以獲得所需的輸出:
System.out.println("" + R + ohm + " (R) / " + U + "V (U) = " + I + "A (I)");
添加回答
舉報(bào)
0/150
提交
取消