一、古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报: 请编写一个程序,使用上述算法加密或解密用户输入的英文字串。
程序设计思想:
首先用户输入需要加密的字符串,然后定义函数获得字符串长度,通过for循环将字符串转化为单个字符,每个字符“+3”,向后移3个,每个字符“-3”,向前移3个,定义str2,将新得到的每个字符赋到str2,得到加密后的英文字符串str2,定义str3,将新得到的每个字符赋到str3,得到解密后的英文字符串str3,输出加密后的子串str2,输出解密后的子串str3
程序源代码:
package demo;
import java.util.Scanner;
public class Mi {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner scan=new Scanner(System.in);
System.out.println("需要加密的电报是:");
String str;
str=scan.nextLine();//nextLine函数接受数据
int length;
length=str.length();
String str1=new String();
String str2=new String();
String str3=new String();
char chuan;
char qian,hou;
for(int i=0;i<length;i++)
{
str1=str.substring(i,i+1);
chuan=str1.charAt(0);
qian=(char)(chuan+3);
hou=(char)(chuan-3);
str2=qian+str2;
str3=hou+str3;
}
System.out.println("加密后的电报为:"+str2);
System.out.println("解密后的电报为:"+str3);
}
}
程序运行结果截图: