2015-01-03 96 views
1

您好我想从一个字符中减去一个int,但我一直被告知编译器“无法从int转换为char”。 我已经尝试将常量改为char,但它没有帮助。如何从一个字符中减去一个数字(int)

有没有简单的方法来做这种减法?

test [1] = characterArray [1] - ASCII_SUB;

任何帮助将不胜感激。

+0

将'ASCII_SUB'强制转换为'char'。 – apnorton

回答

3

问题是减法是从来没有char值执行Java。相反,两个操作数都被提升为int(通过binary numeric promotion),并且减法的结果也是int。因此,您需要将结果重新输入到char

test[1] = (char) (characterArray[1] - ASCII_SUB); 
+0

@anoyd_bi_me_grammers:什么? –

相关问题