我想修改一个移位密码java程序我必须输入一个密码短语和明文短语的字母,顺序递增两个短语并用它相应的明文字母(一次填充)减去每个密文字母-cipher - 明文短语的长度相同。
我想为两个短语使用嵌套的增量For循环,但内循环遍历所有字符位置,并在外循环增加到它的第二个字符之前将每个字符位置与第一个外循环字符进行比较,依此类推。
我需要每个循环一次增加一个字符位置,并比较两个短语的两个字符,然后在每个短语中移动到第二个字符进行比较,等等。我很欣赏使用中的指导用于实现此目的的循环或其他逻辑方法。代码段已发布。
public class Cipher
{
public static final String ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
public static String keyFind(String cipherText, String plainText)
}
String keyPhrase = "";
for (int i = 0; i < cipherText.length(); i++;
{
int charPositionC = ALPHABET.indexOf(cipherText.charAt(i));
for (int j = 0; j < plainText.length(); j++)
{
int charPositionP = ALPHABET.indexOf(plainText.charAt(j));
int keyVal = (charPositionC - charPositionP) % 26;
if (keyVal < 0)
{
keyVal = ALPHABET.length() + keyVal;
}
char replaceVal = ALPHABET.charAt(keyVal);
keyPhrase += replaceVal;
}
return keyPhrase;
}