1
我想在一個典型的加密密鑰的問題從焦炭中減去INT,但我遇到了上述的錯誤在下面的語句:減去INT:可能有損轉換INT爲char
char ch = (int)encrypted_message.charAt(i) + key[index];
if (ch > 122)
ch = (int)ch - 26;
key[]
數組包含密鑰的數字,類型爲int
。
如何成功旋轉char?
請幫忙!
我想在一個典型的加密密鑰的問題從焦炭中減去INT,但我遇到了上述的錯誤在下面的語句:減去INT:可能有損轉換INT爲char
char ch = (int)encrypted_message.charAt(i) + key[index];
if (ch > 122)
ch = (int)ch - 26;
key[]
數組包含密鑰的數字,類型爲int
。
如何成功旋轉char?
請幫忙!
int
比char
大,但你操作的結果鍵入int
(你正在然後在char
存儲)。因此,編譯器警告您可能會丟失將int
值存儲到char
變量中的信息。
相反,確保結果是char
,這是一個有點在int
一個痛苦,因爲+
和-
與char
值的結果,所以我們投:
char ch = (char)(encrypted_message.charAt(i) + key[index]);
if (ch > 122)
ch = (char)(ch - 26);
什麼是你的問題?如果您嘗試將32位數據類型轉換爲16位數據類型,則存在丟失信息的風險。請注意,由於在JVM中沒有'boolean','byte','char'和'short'的原語,因此Java中的所有算術運算總是會產生至少一個'int'。 – Turing85