• 字符串加密


    问题:

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

    请编写一个程序,使用上述算法加密或解密用户输入的英文字串要求设计思想、程序流程图、源代码、结果截图。

    设计思想:

    输入一个字符串,将字符串每个位置的字符强制转化为int型,将所得到的ascll代码加3,a-z的Ascll码为97-122,如果加3之后超过122则从97开始。

    最后将字符串每个位置用+3之后的字符代替。输出加密后的字符串。解密字符串原理同上。

    流程图:

    源代码:


    //翟超科 信1605-3 20163607
    import java.util.Scanner;

    public class JiamiString
    {

      public static String s;
      static Scanner in=new Scanner(System.in);
      public static void jiami()
      {
        System.out.println("请输入一个字符串:");
        s=in.next();
        System.out.println("加密后的字符串为:");
        for(int i=0;i<s.length();i++)
        {
          int t=s.charAt(i);
          if(t+3>122&&(t+3)<126)
          {
            t=t-29;
            s=s.replace(s.charAt(i),(char)t);
          }
          if(t==32)
          {
            s=s.replace(s.charAt(i),' ');
          }
          else
          {
            s=s.replace(s.charAt(i),(char)(t+3));
          }

        }

        System.out.println(s);
      }
      static void jiemi()
      {
        System.out.println("请输入一个加密的字符串:");
        s=in.next();
        System.out.println("解密后的字符串为:");
        for(int i=0;i<s.length();i++)
        {
          int t=s.charAt(i);
          if(t-3<97)
          {  
            t=t+29;
            s=s.replace(s.charAt(i),(char)t);
          }
          if(t==32)
          {
            s=s.replace(s.charAt(i),' ');
          }
          else
          {
            s=s.replace(s.charAt(i),(char)(t-3));
          }

        }

        System.out.println(s);
      }
      static void print()
      {
        System.out.println("欢迎来到字符串解密系统");
        System.out.println(" 1、字符串加密");
        System.out.println(" 2、字符串解密");
        System.out.println(" 3、退出");
        System.out.println("请输入相应的操作:");
      }
      static void run()
      {
        while(true)
        {
          print();
          int t=in.nextInt();
          switch(t)
          {
            case 1:
              jiami();
              break;  
            case 2:
              jiemi();
              break;
            case 3:
              System.out.println("退出成功");
              System.exit(0);
          }

        }
      }
      public static void main(String[] args)
      {
        // TODO 自动生成的方法存根
        run();
      }
    }

     程序截图:

  • 相关阅读:
    一个泛型栈类(GenericStack)
    Google Maps API v2初探
    浅谈工作中celery与Redis遇到的一些问题 PTSD
    python PTSD
    77%的Linux运维都不懂的内核问题
    教程 | Linux常用命令大全
    分布式架构系列: 负载均衡技术详解
    10大Python开源项目推荐(Github平均star2135)
    你必须学写 Python 装饰器的五个理由
    五分钟搞定 Linux 文档全部知识,就看这篇文章
  • 原文地址:https://www.cnblogs.com/2016-zck/p/7737532.html
Copyright © 2020-2023  润新知