• 古罗马子串加密


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

    设计思路:输入字符串,把每个字符装到数组里,其ascii码+3或-3,最后输出字符串型。

    package luoma;
    import java.util.*;
    public class Mima {
        public static void Jiami()
        {
            System.out.println("请输入需要加密的字符串");
            String zifu=new String();
            Scanner chuan=new Scanner(System.in);
            zifu=chuan.next();
            char leng[]=new char[zifu.length()];
            for(int i=0;i<zifu.length();i++)
            {
                if(zifu.charAt(i)>='A'&&zifu.charAt(i)<='W')
                {
                    leng[i]=(char)(zifu.charAt(i)+3);
                }
                if(zifu.charAt(i)=='X') leng[i]='A';
                if(zifu.charAt(i)=='Y') leng[i]='B';
                if(zifu.charAt(i)=='Z') leng[i]='C';
            }
            String show=new String();
            for(int j=zifu.length()-1;j>=0;j--)//从右组合字符串
            {
                show=leng[j]+show;
            }
            System.out.println("字符串加密后为:"+show);
        }
        
        public static void Jiemi()
        {
            System.out.println("请输入需要加密的字符串");
            String zifu=new String();
            Scanner chuan=new Scanner(System.in);
            zifu=chuan.next();
            char leng[]=new char[zifu.length()];
            for(int i=0;i<zifu.length();i++)
            {
                if(zifu.charAt(i)>='D'&&zifu.charAt(i)<='Z')
                {
                    leng[i]=(char)(zifu.charAt(i)-3);
                }
                if(zifu.charAt(i)=='A') leng[i]='X';
                if(zifu.charAt(i)=='B') leng[i]='Y';
                if(zifu.charAt(i)=='C') leng[i]='Z';
            }
            String show=new String();
            for(int j=zifu.length()-1;j>=0;j--)//从右组合字符串
            {
                show=leng[j]+show;
            }
            System.out.println("字符串加密后为:"+show);
        }
        
        public static void main(String args[])
        {
            System.out.println("请选择:1--加密;2--解密");
            int xuan;
            Scanner ze=new Scanner(System.in);
            xuan=ze.nextInt();
            if(xuan==1)
            {
                Mima m=new Mima();
                m.Jiami();
            }
            if(xuan==2)
            {
                Mima n=new Mima();
                n.Jiemi();
            }
        }
    }

    结果截图:

  • 相关阅读:
    git 无法提交到远程服务器【转载】
    vscode 常用快捷键
    mongodb nodejs一个有自增id的功能
    C++ lambda表达式与函数对象
    TypeScript的async, await, promise,多参数的调用比较(第2篇)
    了解TypeScript的async,await,promise(第1篇)
    TyepScript判断一个变量是null, or undefined
    MongoClient 对 Mongodb的 增删改查 操作
    TypeScript第一个Promise程序
    C++基类的继承和多态
  • 原文地址:https://www.cnblogs.com/maplely/p/4909682.html
Copyright © 2020-2023  润新知