int x=(int)compressedText.charAt(one1+1);
int y=(int)compressedText.charAt(one1+2);
count=x+y;
count1=(char)count;
compressedText.charAt(one1 + 2)和compressedText.charAt(one1 + 1)的craracter值均等于1但是当我尝试调试我的代码时,它表示count等于98。
答案 0 :(得分:3)
向char
投射代表数字字符的int
并不能完成您的想法。它采用char
的Unicode值(49
为'1'
)。这就解释了为什么你得到98
而不是2
。
由于字符'0'
到'9'
的代码值为48
到57
,因此您可以从'0'
(48
)中减去char
相反,每个int x = compressedText.charAt(one1+1) - '0';
,例如
int
如果要将char
转换回用于表示数字字符的count
,则需要撤消此转化。如果{{1}}超过一位数(> = 10),您还需要考虑多个字符。