0

我需要一些关于 Java 作业的帮助。我们得到一个加扰的文本文件,它使用替换密码进行加扰,其中文本中的每个字母都简单地换成另一个字母。我的程序快完成了,但我无法弄清楚如何编写最终的“解扰”方法,该方法采用加扰的文本并将每个字母替换为正确的替代品,以显示正确的文本。

这些是作业中提供的说明:

解扰是通过使用加扰文本中的字母作为 char 数组中的索引来完成的。例如,如果打乱的文本有一个字母 B,则将其替换为它在数组中索引为 2 的字符。原始文件中的所有空格和标点符号也应该在解扰文件中,只有字母应该被更改。此外,如果原始文件中的字母大写,则在解扰文件中应大写(类似地,小写字母仍应为小写)。

我不是要求给我答案,因为这是给学校的。我似乎无法正确理解这些说明,我需要做什么才能成功解码文本?大多数情况下,我不明白如何使用字母作为 char 数组的索引,索引不总是整数吗?

4

1 回答 1

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];

现在你只需要弄清楚如何处理小写字母、空格和标点符号。

于 2012-06-13T02:01:29.547 回答