本文介紹了嘗試在整數后添加字符,然后打印結果時出現奇怪的結果的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我正在嘗試創建一個簡單的計算器沃爾·歐姆定律。
所以這個想法是,你可以填兩個變量,然后它就會計算第三個變量。
當我創建這個程序時,我發現了一個小問題,我不知道它是如何發生的,不幸的是,我無法找到答案。
我試圖打印一個字符串,其中顯示了完整的計算。因此,用戶填寫的兩個變量和答案。在歐姆變量(本例中為‘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’添加了一個值。希望我的問題已經足夠清楚了。
提前謝謝。
推薦答案
R + ohm
執行afloat
和achar
(整型)的數字相加。因此,您看到的是float
結果,而不是預期的字符串連接。您看到的float
結果是8486 + 2.54
(因為8486
是十六進制數2126
的十進制值)。
在您的第一個println
語句中,您可以通過將String
(“”)連接到float
來避免這種情況,這會導致String
。然后將歐姆char
連接到那個String
。
您也可以從空String
開始,以獲得所需的輸出:
System.out.println("" + R + ohm + " (R) / " + U + "V (U) = " + I + "A (I)");
這篇關于嘗試在整數后添加字符,然后打印結果時出現奇怪的結果的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,