我试图在典型的密码学密钥问题中从char中减去int,但在以下语句中遇到上述错误:
char ch = (int)encrypted_message.charAt(i) + key[index];
if (ch > 122)
ch = (int)ch - 26;
Run Code Online (Sandbox Code Playgroud)
key[]数组保存键的数字,类型为int。
如何成功旋转字符?
请帮忙!
int大于char,但是输入了操作的结果int(然后将其存储在中char)。因此,编译器警告您可能会丢失将int值存储到char变量中的信息。
取而代之的是,确保其结果是char,这是一个有点痛,因为+和-同char在一个值的结果int,所以我们要投:
char ch = (char)(encrypted_message.charAt(i) + key[index]);
if (ch > 122)
ch = (char)(ch - 26);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3700 次 |
| 最近记录: |