zoukankan      html  css  js  c++  java
  • 字符加密

    实验:字符加密

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

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

      

    (三)实验截图

    (四)流程图

  • 相关阅读:
    数据库基础概念及操作语句
    多态、封装、继承的概念。
    排序有几种方式
    构造函数、复制构造函数和析构函数的特性
    String类的构造函数,析构函数、拷贝构造函数和赋值函数
    操作系统中进程调度策略
    静态数据成员和函数
    指针与引用的区别
    const的用法及它在C语言和C++中的不同
    反射性能优化
  • 原文地址:https://www.cnblogs.com/gdp176119/p/4907172.html
Copyright © 2011-2022 走看看