所以,我在编码领域有点像菜鸟,我正在研究一个凯撒密码,它的工作原理是以随机数为关键。
package cryptography;
import java.util.Scanner;
import java.util.Random;
public class Caesar_Cipher {
public static void main(String[] args) {
Scanner scanner = new Scanner (System.in);
Random generator = new Random();
int x = generator.nextInt();
String input;
char[] letters;
System.out.println ("Input original message.");
input = scanner.nextLine();
letters = input.toCharArray();
for (int index = 0; index < letters.length; index++) {
letters[index] += x;
}
System.out.println ("The key is: " + x + ". \n"); //Here's the problem
System.out.print ("Your encrypted message: ");
System.out.println (letters);
}
}
问题在于我不知道如何打印与加密中使用的号码相同的号码。
答案 0 :(得分:1)
SIR,你的每个人都对你的问题感到困惑。你想打印出你输入的内容,但是对随机密钥和内容要求完全不同。
您无法使用System.out.println(the_char_array);
打印char []数组,要么首先将其转换为可读(即toString()已正确实现)对象(如String),要么使用一个循环,逐个打印出每个字母。
编辑:我很清楚这条评论你想要发生什么:
它打印的信息与我写的不同。