本文介紹了嘗試在整數(shù)后添加字符,然后打印結(jié)果時(shí)出現(xiàn)奇怪的結(jié)果的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
我正在嘗試創(chuàng)建一個(gè)簡(jiǎn)單的計(jì)算器沃爾·歐姆定律。
所以這個(gè)想法是,你可以填兩個(gè)變量,然后它就會(huì)計(jì)算第三個(gè)變量。
當(dāng)我創(chuàng)建這個(gè)程序時(shí),我發(fā)現(xiàn)了一個(gè)小問題,我不知道它是如何發(fā)生的,不幸的是,我無法找到答案。
我試圖打印一個(gè)字符串,其中顯示了完整的計(jì)算。因此,用戶填寫的兩個(gè)變量和答案。在歐姆變量(本例中為‘R’)之后,也應(yīng)打印正確的符號(hào)。
如下例所示,在變量后添加符號(hào)的唯一方法是首先添加一個(gè)空字符串(“”)。否則Unicode將被添加到變量中?!
我舉了一個(gè)簡(jiǎ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)");
}
}
控制臺(tái)中的結(jié)果:
2.54?(R)/4.0V(U)=0.635A(I)
8488.54(R)/4.0V(U)=0.635A(I)
如您所見,第二個(gè)打印沒有顯示歐姆符號(hào),但向變量‘R’添加了一個(gè)值。希望我的問題已經(jīng)足夠清楚了。
提前謝謝。
推薦答案
R + ohm
執(zhí)行afloat
和achar
(整型)的數(shù)字相加。因此,您看到的是float
結(jié)果,而不是預(yù)期的字符串連接。您看到的float
結(jié)果是8486 + 2.54
(因?yàn)?code>8486是十六進(jìn)制數(shù)2126
的十進(jìn)制值)。
在您的第一個(gè)println
語句中,您可以通過將String
(“”)連接到float
來避免這種情況,這會(huì)導(dǎo)致String
。然后將歐姆char
連接到那個(gè)String
。
您也可以從空String
開始,以獲得所需的輸出:
System.out.println("" + R + ohm + " (R) / " + U + "V (U) = " + I + "A (I)");
這篇關(guān)于嘗試在整數(shù)后添加字符,然后打印結(jié)果時(shí)出現(xiàn)奇怪的結(jié)果的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,