zoukankan      html  css  js  c++  java
  • 凯撒加密

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

    解题思路:

    键盘盘输入字符串,把字符串转换成数组,在数组中把根据ASCII表+3,在利用StringBuffer转换回字符串,解码原理相同。

    程序框图:

    程序

    程序代码:

    import java.util.Scanner;
    class jiami
    {
    String b;
    public jiami(String a)
    {
    b=a;
    int m=b.length();
    char [] ch = b.toCharArray();
    for(int i=0;i<m;i++)
    {
    if((ch[i]>87&&ch[i]<91)||(ch[i]>118&&ch[i]<123))
    ch[i]=(char) (ch[i]-23);
    else
    ch[i]=(char) ((ch[i])+3);
    }
    StringBuffer arr = new StringBuffer();

    for(int i=0;i<m;i++)

    {

    arr.append(ch[i]);
    }

    String newstr = arr.toString();
    System.out.println("加密后的密码是:"+newstr);
    }
    }
    class jiemi
    {
    String b;
    public jiemi(String a)
    {
    b=a;
    int m=b.length();
    char [] ch = b.toCharArray();
    for(int i=0;i<m;i++)
    {
    if((ch[i]>97&&ch[i]<99)||(ch[i]>87&&ch[i]<91))
    ch[i]=(char) (ch[i]+23);
    ch[i]=(char) (ch[i]-3);
    }
    StringBuffer arr = new StringBuffer();

    for(int i=0;i<m;i++)

    {

    arr.append(ch[i]);

    }

    String newstr = arr.toString();
    System.out.println("解密后的密码是:"+newstr);
    }
    }
    public class homework1 {
    public static void main(String args[]){
    Scanner cin=new Scanner(System.in);
    System.out.println("请选择加密,还是解密,加密按1,解密按2");
    int m=cin.nextInt();
    if(m==1)
    {
    String a;
    System.out.println("请输入密码");
    a=cin.next();
    jiami jia=new jiami(a);
    }
    else if(m==2)
    {
    String a;
    System.out.println("请输入密码");
    a=cin.next();
    jiemi jie=new jiemi(a);
    }
    else System.out.println("输入错误");

    }

    }

    截图:

    https://necydcy.me/
  • 相关阅读:
    反素数(暴力)
    More Divisors(反素数)
    CodeForces
    Binary Tree(二叉树+思维)
    Friendship of Frog(水题)
    内网jenkins如何配置gitlab自动拉取代码打包
    配置git使用ssh方式克隆gitlab的代码
    centOS7创建python虚拟环境
    CentOS7下安装JDK
    centOS安装python3 以及解决 导入ssl包出错的问题
  • 原文地址:https://www.cnblogs.com/miria-486/p/7739779.html
Copyright © 2011-2022 走看看