我想要破译某个文本。当我在字符串中遇到一个字母时,我想用字母表中的下一个字母替换它。然后在下一轮我想用第二个下一个字母替换。
a -> b
k -> l
然后在第二轮它应该尝试
a -> c
k -> 米
字符的问题是它包含了各种奇怪的字符,当你遇到 az 并尝试替换它时,它会被一个奇怪的符号替换。
谁能帮我从AZ制作某种循环列表?在下面的代码片段中,我创建了一个包含 a 到 z 的列表。在循环中选择一个字符,搜索并“调整”它的索引,并且应该检索新字符。但它不起作用。(列表不是循环的一个原因)
public static void decipher(){
String cyphertext = "aVaqrprzoreoeratraWhyvhfraJnygreUbyynaqreqrgjrroebrefinaRqvguZnetbganneNzfgreqnzNaarjvytenntzrrxbzraznnezbrgabtrrarragvwqwrovwbznoyvwiraBznmnyurgzbrvyvwxuroorabzNaarabtrracnnejrxraqnnegrubhqrafpuevwsgRqvguSenaxvarraoevrsnnaTregehqAnhznaauhaiebrtrerohhezrvfwrvaSenaxshegnzZnva";
char[] plaintext = new char[cyphertext.length()];
List<Character> a2z = new ArrayList<Character>(26);
for (char c = 'A'; c <= 'Z'; c++){
a2z.add(Character.valueOf(c));
}
for(int i = 1; i < 26; i++){
for(int j = 0; j < cyphertext.length(); j++){
char currentChar = cyphertext.charAt(j);
int newCharIndex = a2z.indexOf(currentChar)+i;
plaintext[j] = a2z.get(newCharIndex);
}
}
}