古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报:
请编写一个程序
1.设计思想
由用户键入一个字符串,并用函数得到用户输入的字符串的长度,而后将字符串转化为字符数组。由ascII码与大小写字母的关系将每个字符转化为对应的字符,而后将转换好的字符即加密字符串打印输出。
2.程序流程图
3.源代码
package jiami;
//课后作业1:字串加密.每个字符都对应它以后的第三个字符,进行加密。 2015.10.25 底云飞
//65~90为26个大写英文字母,97~122号为26个小写英文字母
import java.util.Scanner;
public class Screat {
privatestatic Scanner scan; //私有静态Scanner类变量
public static void main(String[] args){
int length; //用户输入的字符串长度
String zifu; //用户输入的字符串
scan = new Scanner(System.in); //给scan申请空间
System.out.println("请输入英文字符串:");
zifu = scan.nextLine(); //读取用户输入的字符串并赋值给zifu
System.out.println("你输入的字符串为:"+zifu);
length = zifu.length(); //得到用户输入字符串的长度
char array[] = zifu.toCharArray(); //将用户输入的字符串转化为字符数组
for(int i=0;i<length;i++) //将每个字符进行变换
{ //a到w的字符每个向后加3,x,y,z这三个每个减去23得到变换后的
if((array[i]>=65&&array[i]<=87)||(array[i]>=97&&array[i]<=119))
array[i]=(char) (array[i]+3);
else if((array[i]>=88&&array[i]<=90)||(array[i]>=120&&array[i]<=122))
array[i]=(char) (array[i]-23);
}
StringBuffer arr = new StringBuffer(); //定义一个stringbuffer类的变量arr
for(int i=0;i<length;i++)
{
arr.append(array[i]); //运用append方法,参考StringBufferAppend。java
}
String newstr = arr.toString(); //将变换后的重新组合为字符串
System.out.println("加密后的英文为:"+newstr); //打印组合后的字符串
}
}
4.结果截图