实验:字符加密
古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报:
使得ascll加3,XYZ对应ABC
请编写一个程序,使用上述算法加密或解密用户输入的英文字串要求设计思想、程序流程图、源代码、结果截图
(一)
(一)设计思路
建立类Enoughcrty
(1) 首先输入一个字符串
System.out.println("请输入一个需要加密的字符串:");
输入字符串Scanner scan =new Scanner(System.in);
(2) 返回键盘输入的数据并以String类型返回
String input=scan.next();
(3)/将返回值由字符串变为char[]数组型
char[] inputArr =input.toCharArray();
(4)/构造一个没有没有字符的StringBuffer类
StringBuffer sb=new StringBuffer();
(5)加密
(a)进行for循环,inputArr.length表示字符串转化为数组的长度for(int i=0;i<inputArr.length;i++){
(b)赋值charInt为数组数值
int charInt=Integer.valueOf(inputArr[i]);
int charEn;
(c)判断输入值是否为XYZ,并进行加密,例如X时候
if(charInt==88)
int charIntEn=65;
将加密后的数组成员复制到空数组中
sb.append((char)(charIntEn));
(d)其他
else{
int charIntEn=charInt+3;
sb.append((char)(charIntEn));
(e)输出
System.out.println(sb.toString());
(二
package jiami;
import java.util.Scanner;
public class Encrty {
public static void main(String[]args){
//首先输入一个字符串
System.out.println("请输入一个需要加密的字符串:");
Scanner scan =new Scanner(System.in);//输入字符串
String input=scan.next();//返回键盘输入的数据并以String
类型返回
char[] inputArr =input.toCharArray();
//将返回值由字符串变为char[]数组型
StringBuffer sb=new StringBuffer();
//构造一个没有没有字符的StringBuffer类
//进行加密
for(int i=0;i<inputArr.length;i++){
int charInt=Integer.valueOf(inputArr[i]);
int charEn;
if(charInt==88){
int charIntEn=65;
sb.append((char)(charIntEn));//填入空余字符串中
}
else if(charInt==89){
int charIntEn=66;
sb.append((char)(charIntEn));
}
else if(charInt==90){
int charIntEn=67;
sb.append((char)(charIntEn));
}
//对应XYZ表示ABC
else{
int charIntEn=charInt+3;
sb.append((char)(charIntEn));
}
}
System.out.println(sb.toString());
}
}
)
(三)实验截图

(四)流程图


原文:http://www.cnblogs.com/gdp176119/p/4907172.html