所以,我在编码领域有点菜鸟,我正在研究一种凯撒密码,该密码在以随机数作为 key 的前提下工作。
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);
}
}
问题是我不知道如何打印与加密中使用的相同的数字。
最佳答案
先生,您的问题让每个人都感到困惑。您想打印出您输入的内容,但询问的是关于随 secret 钥和其他内容的完全不同的事情。
您无法像使用 System.out.println(the_char_array);
那样打印 char[] 数组,要么先将其转换为可读的(即 toString() 已正确实现)对象(例如 String),要么使用循环逐个打印出每个字母。
编辑:我很清楚你想通过此评论发生什么:
It printed a different message than what I wrote.
关于java - 在Java中打印随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22521169/