我正在制作一个简单的计算器,这是我的代码。
public static void main(String[] args) {
int x = 3;
int y = 7;
char w = '+';
System.out.println(x+w+y+"="+(x+y));
}
Run Code Online (Sandbox Code Playgroud)
结果显示为“53 = 10”,我不明白为什么“+”不会出现以及 53 来自何处。当我在最后一行使用 (w) 而不是 w 时,会出现正确的结果“3+7=10”。
char在 Java 中,s 可以隐式转换为整数。x + w + y增加了他们的价值。字符的整数值'+'恰好是 43,所以你得到 3 + 43 + 7 (= 53)。
与您所说的相反,将w放入括号并不会改变这一点。
要解决此问题,请将其w设为String:
String w = "+";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
57 次 |
| 最近记录: |