古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报:
请编写一个程序,使用上述算法加密或解密用户输入的英文字串要求设计思想、程序流程图、源代码、结果截图。
1. 设计思想
首先让用户输入一串字串,并用n来代表其长度,然后分别对每一个字母进行判断,分两种情况,一种是a~w的大小写,一种是x,y,z的大小写。如果是a~w的大小写,则直接给其加三,若是x,y,z的大小写,则给其减23,最后用str1来存储所有改变过的字母,形成一个新的字符串。
2. 程序流程图
3.源代码
import java.util.Scanner;public class Test {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入要加密的字串:");
String str="";
String str1="";
int n=0;
str=input.nextLine();
n=str.length();
char temp = 0;
for(int i=0;i<n;i++)
{
if((str.charAt(i) > 64 && str.charAt(i) < 88)||(str.charAt(i) > 96 && str.charAt(i) < 120))
temp=(char) (str.charAt(i) + 3);
else if((str.charAt(i) > 87 && str.charAt(i) < 91)||(str.charAt(i) > 119 && str.charAt(i) < 123))
temp=(char) (str.charAt(i) - 23);
str1+=temp;
}
System.out.println("加密后的字串是: "+str1);
}
}
4. 结果截图