public static void getkey() {
char[] resultat = new char[256];
for (char r = 0; r < 256; r++) {
resultat[r] = r;
System.out.print(r);
}
}
你好,当我运行此程序时,它向我显示了java中的所有256个字符。像这样java console但是我的目标是像这样使用String类型的参数。
public static void getkey(String key)
此参数是字母。当我运行programm时,它应该替换imagelink中显示的已经存储的角色的位置。结果是,如果我添加“ ZYXWVUTSRQPONMLKJIHGFEDCBA”作为参数,则A将变为Z,B将变为Y,C = X,直到Z变为A。
并且我将不得不创建一个crypto方法,因为我正试图创建一个凯撒密码,并且我将不得不调用此方法getkey(String key)来编码我的文本,我没有使用int shift,该方法的签名如下所示:
public static void encrypt(String text , char[] key)
我到处都是寻找,我没有找到任何答案,请有人有一个想法,我是Java编程的初学者。谢谢。
您想做这样的事情:
private static char[] key = ZYXWVUTSRQPONMLKJIHGFEDCBA".toCharArray(); //for reference
public String encrypt(char[] key, String plaintext){
char[] encryptedText = new String[plaintext.size];
for(int i = 0; i < plaintext.size(); i++){
int charIndex = plaintext.charAt[i] - 41; //normalizes to A=0, Z=24
encryptedText[i] = key[charIndex % key.length];
}
return new String(encryptedText);
}
似乎您会遇到带有''字符和其他字符的边缘字符,因此您可能需要添加一些逻辑以忽略不在您要加密的范围内的字符。