我是新來的java,試圖寫我的第一個應用程序 - 計算器 - 我自己。 嘗試四處搜尋,但找不到任何類似的東西。它可以通過ASCII或字節來完成嗎? 爲了簡化什麼,我想知道我給下面的例子:如何將char轉換爲實際值?
char ch = '+';
int i = 1 ch 2;
int = 3;
我想字符+莫名其妙地被轉化爲實際+簽收INT計算工作。可能嗎? 提前謝謝!
我是新來的java,試圖寫我的第一個應用程序 - 計算器 - 我自己。 嘗試四處搜尋,但找不到任何類似的東西。它可以通過ASCII或字節來完成嗎? 爲了簡化什麼,我想知道我給下面的例子:如何將char轉換爲實際值?
char ch = '+';
int i = 1 ch 2;
int = 3;
我想字符+莫名其妙地被轉化爲實際+簽收INT計算工作。可能嗎? 提前謝謝!
這是不可能的。您將需要在運行時檢查變量值char
。
int a = 1, b = 2, result = 0;
switch(ch) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
// et.c
}
// The result of the calculation is now in `result`
非常感謝!在這種情況下使用if語句切換到使用有什麼區別嗎? –
@DeividasStrioga不存在功能差異,但switch語句可能比if語句具有更好的性能。 – SamTebbs33
Character.getNumericValue(c)
java.lang.Character.getNumericValue(char ch)返回指定的Unicode字符表示的int值。例如,字符'u216C'(羅馬數字50)將返回值爲50的整數。
字母AZ以其大寫字母('\ u0041'至'\ u005A'),小寫字母(' ('\ u0071')和全角變量('\ uFF21'到'\ uFF3A'和'\ uFF41'到'\ uFF5A')格式的數值從10到35.這與Unicode規範,它不會爲這些char值分配數值。
此方法返回字符的數值,作爲非負int值;
-2如果字符的數值不是非負整數;
-1如果該字符沒有數字值。
這是可能的,但不是這樣。你需要'if's或者switch-case – Hackerdarshi
不是那樣的。你需要在運行時將你的表達式解析爲一個'String'(或至少一個'char'類型和兩個'int's)。 –
可能的重複:http://stackoverflow.com/questions/19388037/converting-characters-to-integers-in-java – Ricardo