这是一个凯撒密码,在调试时我发现这个循环运行的次数超过了 mod 的值。我希望输出1,2,3,4 fklm
然后停止。有问题的循环是:
for(int k=1;k<=mod;k++).
方法中使用的字符串是"abcd"
.
这是一个凯撒密码,在调试时我发现这个循环运行的次数超过了 mod 的值。我希望输出1,2,3,4 fklm然后停止。有问题的循环是:
for(int k=1;k<=mod;k++).
方法中使用的字符串是"abcd".
输出图像包含在下面
public static String encrypt(String plainText)
{
plainText=plainText.toLowerCase();
String text="";
for(int i=0;i<plainText.length();i++)
{
if(i==0)
{
int letterPosition=ALPHABET.indexOf(plainText.charAt(i));
int shiftValue=(key+letterPosition)%26;
char encrypted=ALPHABET.charAt(shiftValue);
text+=encrypted;
}
else if(i>0)
{
int letterPosition=ALPHABET.indexOf(plainText.charAt(i));
for(int k=1;k<=mod;k++)
{
modShiftKey=(key+k);
System.out.println(k);
}
int shiftValue=(modShiftKey+letterPosition)%26;
char encrypted=ALPHABET.charAt(shiftValue);
text+=encrypted;
}
}
return text;
}
慕沐林林
相关分类