我需要一些Java任务的帮助。我们给出了一个加密的文本文件,该文件使用替换密码进行加扰,其中文本中的每个字母都被简单地换成另一个字母。我的程序几乎已经完成,但是我无法弄清楚如何编写最终的“解扰”方法,该方法采用加扰文本并用正确的替换替换每个字母以显示正确的文本。
这些是作业中提供的说明:
通过使用加扰文本中的字母作为char数组中的索引来完成解扰。例如,如果加扰文本具有字母B,则将其替换为数组中索引2的字符。原始文件中的所有空格和标点符号也应该在解扰文件中,只有字母应该被更改。另外,如果一个字母在原始文件中大写,它应该在解扰文件中大写(类似地,小写字母仍然应该是小写的。)
我不是要求给我答案,因为这是为了学校。我似乎无法正确理解这些指令,我需要做什么才能成功解码文本?大多数情况下,我不明白如何使用字母作为char数组的索引,索引是否总是整数?
答案 0 :(得分:0)
您没有说出您正在使用的语言,因此我将使用C / Java。您需要计算整数索引。假设当前scrambled_char
是大写字母,那么它是:
// index into descrambling array:
int index = scrambled_char - 'A' + 1;
问题所在,其中字符A的值为1,B的值为2等。听起来你正在被给予解扰阵列。例如:
char descramble[] = "_ZYX ... ";
这会导致A转换为Z,B转换为Y,C转换为X,......
解扰后的角色将是
char descrambled_char = descramble[index];
现在你只需要弄清楚如何处理小写字母,空格和标点符号。