• 字符串加密


    问题:

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

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

    设计思想:

    输入一个字符串,将字符串每个位置的字符强制转化为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();
      }
    }

     程序截图:

  • 相关阅读:
    CSS :hover伪类选择定义和用法
    php disk_free_space与disk_total_space实例介绍
    css required,focus,valid和invalid介绍
    E:in-range伪类选择器与E:out-of-range伪类选择器
    php不使用copy()函数复制文件的方法
    数组金额 转 大写
    PHP GD压缩图片
    php快递查询API类-支持各种快递
    share一段采集程序的代码
    全自动小说订阅微信推送
  • 原文地址:https://www.cnblogs.com/2016-zck/p/7737532.html
Copyright © 2020-2023  润新知