古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报。请编写一个程序,使用上述算法加密或解密用户输入的英文字串要求设计思想、程序流程图、源代码、结果截图。
一、程序设计思想
- 输入要加密的字串str,定义字符串长度,将字符串转化为单个字符,每个字符+3,向后移3个,每个字符-3,向前移3个;
- 定义str1,将新得到的每个字符加到str1后,得到加密后的英文字串str1;
- 定义str2,将新得到的每个字符加到str2后,得到解密后的英文字串str2;
- 输出加密后的字串str1和解密后的字串str2。
二、程序流程图
三、源代码
import java.util.Scanner;
public class Code {
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);
System.out.println("请输入要加密或者解密的字符串");
String str;
int n=0;
str=input.nextLine();
n=str.length();
char a,b;
String str1=new String();
String str2=new String();
for(int i=0;i<n;i++)
{
//获取指定位置的字符串
a=str.charAt(i);
b=str.charAt(i);
a=(char)(a+3);
b=(char)(b-3);
str1=str1+a;
str2=str2+b;
}
System.out.println("加密后的字串是:\n"+str1);
System.out.println("解密后的字串是:\n"+str2);
}
}
四、结果截图