我正在完成一个类的问题,该问题需要将字符串消息从带有键的 ascii 转换为解码的字符串消息。我已经尝试从 message.charAt(i) 访问字符串并将其转换为 char 数组,但两次我都在控制台上得到了这个奇怪的输出。
这是我运行的方法
public static char[] decrypt(String message) {
char[] decoded = new char[message.length()];
char[] newmessage = message.toCharArray();
int ascii;
for(int key=0; key<=100; key++) {
for(int i=0; i<message.length(); i++) {
ascii = ( (int)newmessage[i] + 127) - 32;
if(ascii > 126)
decoded[i] = (char)((int)newmessage[i] - key);
else
decoded[i] = (char)((((int)newmessage[i] - key) +127) -32);
}
}
System.out.println(decoded);
return decoded;
}
这是我在 main 中调用它的地方
System.out.println("Problem 3");
String message = ":mmZ\\dxZmx]Zpgy";
System.out.println("Message Received: ");
System.out.println(message);
decrypt(message);
我似乎无法弄清楚我哪里出错了。预期的输出是每个键都与相应的解码消息一起打印。第 88 个键将显示消息“Attack at Dawn!”。
holdtom
Smart猫小萌
相关分类