字符加密

实验:字符加密

古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报:

使得ascll3,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());
		
	}

}

  

(三)实验截图

(四)流程图

 

posted @ 2015-10-24 16:58  无限yier  阅读(306)  评论(0编辑  收藏  举报