用Java打印随机数
所以,我在编码领域有点像个傻瓜,我正在研究一种凯撒密码,它在以随机数为密钥的前提下工作用Java打印随机数,java,encryption,Java,Encryption,所以,我在编码领域有点像个傻瓜,我正在研究一种凯撒密码,它在以随机数为密钥的前提下工作 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);
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);
}
}
包加密;
导入java.util.Scanner;
导入java.util.Random;
公共类凯撒密码{
公共静态void main(字符串[]args){
扫描仪=新的扫描仪(System.in);
随机生成器=新随机();
int x=generator.nextInt();
字符串输入;
字符[]个字母;
System.out.println(“输入原始消息”);
输入=scanner.nextLine();
字母=输入。toCharArray();
for(int index=0;index
问题是我不知道如何打印与加密相同的数字。先生,你的问题让每个人都感到困惑。你想打印出你输入的内容,但对随机键和其他东西的要求却完全不同 不能像使用
System.out.println(字符数组)那样打印字符[]的数组代码>,或者首先将其转换为可读(即正确实现toString()的)对象(例如字符串),或者使用循环逐个打印每个字母
编辑:我很清楚你想用这个评论做什么:
它打印的信息与我写的不同
有什么问题吗?它应该打印与“加密”中使用的数字相同的数字,而不是。我尝试使用相同的号码查看是否收到相同的消息,但我没有。您是想了解如何解密消息,还是只打印密钥?要解密,您必须执行与加密操作相反的操作(无论如何使用此加密)!只需打印钥匙。我知道如何解密,我有一个单独的程序,我不明白。在为您发布的代码分配初始随机值后,不会更改该代码中的x
值。这怎么不是你期望的数字?