zoukankan      html  css  js  c++  java
  • 凯撒加密解密(java字母移位)

    1.设计思想:加密就是将字符数据转化为ASC码表中的数字,a—w之间通过加3之后再转化为字符型输出,x—z之间通过转化为ASC码表中的数字后减去23再转化为字符型输出。解密就是将字符数据转化为ASC码表中的数字,d—z之间通过减去3之后再转化为字符型输出,a—c之间通过转化为ASC码表中的数字后加23再转化为字符型输出。

    2.程序流程图

    3.程序源码

    import java.util.Scanner;
    public class Code {
    //严羽卿 凯撒加密与解密  2015 10 23
     public static void main(String[] args) {
      // TODO Auto-generated method stub
      String input = null;
      Scanner sc = new Scanner(System.in);
      System.out.println("请输入字母:");
      input = sc.next();
      StringBuffer code = new StringBuffer();
            Scanner sc1=new Scanner(System.in);
      System.out.println("加密请按1,解密请按2:"); 
            int p;
            p=sc1.nextInt();     
            if(p==1)
            {
          System.out.println("加密之后为:");     
          for(int i = 0;i < input.length();i++)
          {
           char x = input.charAt(i);
           
           if(x >= 'a' && x <= 'w')
           {
            x = (char)(x+3);
            code.append(x);
           }
           if(x >= 'x' && x <= 'z')
           {
            x=(char)(x-23);
            code.append(x);
           }
           
           if(x >= 'A' && x <= 'W')
           {
            x = (char) (x+3);

            code.append(x);
           }
           if(x >= 'X' && x <= 'Z')
           {
            x=(char)(x-23);
            code.append(x);
           }

          } 
            }
            if(p==2)
            {
          System.out.println("解密:");
          for(int i = 0;i < input.length();i++)
          {
           char x = input.charAt(i);
           if(x >= 'a' && x <= 'c')
           {
            x=(char)(x+23);
            code.append(x);
           }
           else if(x >= 'd' && x <= 'z')
           {
            x = (char)(x-3);
            code.append(x);
           }
           else if(x >= 'A' && x <= 'C')
           {
            x=(char)(x+23);
            code.append(x);
           }
           
           else if(x >= 'D' && x <= 'Z')
           {
            x = (char) (x-3);

            code.append(x);
           }

          }
            }
      System.out.println(code);
     

     }

    }

    4.结果截图

  • 相关阅读:
    C/S WinFORM 快速开发框架 MyRapid快速开发框架更新日志 ---数据权限控制
    C/S WinFORM 快速开发框架 MyRapid快速开发框架更新日志 ---自动生成操作手册
    C/S WinFORM 快速开发框架 MyRapid快速开发框架更新日志 ---添加模块流程图
    代码分享:给窗体添加水印
    版本需更新提醒
    如何做好软件自动更新
    做项目管理踩过的坑
    团队开发的代码管理(VS)
    Java8尽管很香,你想过升级到Java11吗?会踩那些坑?
    这个 Spring 循环依赖的坑,90% 以上的人都不知道
  • 原文地址:https://www.cnblogs.com/yanyuqing/p/4903977.html
Copyright © 2011-2022 走看看