我是新来的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