zoukankan      html  css  js  c++  java
  • java:凯撒密码

    一,凯撒密码

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

    现在用java实现

    程序设计思想:

    1,字符串首先要转化为字符数组,才能依次加密

    2,当原来的字符为X,Y,Z时,加密后要转化为A,B,C

    3,为了传递信息,应该只加密英文字母,对于无意义的空格等字符不应加密

    程序流程图

    源程序代码

     1 /**
     2  * 
     3  */
     4 package 课堂4;
     5 import java.util.Scanner;
     6 /**
     7  * @author 信1605-3吴鑫20163471
     8  */
     9 public class Ceasarcipher
    10 {
    11     /**
    12      * @param args
    13      */
    14     public static void main(String args[])
    15     {// TODO 自动生成的方法存根
    16         Scanner sc=new Scanner(System.in);//用户输入字符串
    17         System.out.println("请输入任意英文字符串:");
    18         String s=sc.nextLine();
    19         sc.close();
    20         char c[]=s.toCharArray();//将字符串转换为字符数组
    21 
    22         for(int i=0;i<s.length();i++)//将每个字符依次加密
    23         {
    24             if(c[i]>=65&&c[i]<=90||c[i]>=97&&c[i]<=122)//如果是英文字母就执行凯撒加密
    25                 c[i]=(char)(c[i]+3);
    26             
    27             if((c[i]>90&&c[i]<97)||c[i]>122)//当字母为x,y,z时,转化为a,b,c
    28                 c[i]=(char)(c[i]-26);
    29         }
    30 
    31         String result="该英文字串加密后的密文为:
    ";
    32         for(int i=0;i<s.length();i++)//将加密后的字符连接成字符串输出
    33         {
    34             result+=c[i];
    35         }
    36         System.out.println(result);
    37     }
    38 }

    
    

     程序运行结果

  • 相关阅读:
    angular反向代理配置
    实现对Asp.NetMvc及Asp.NetCore的权限控制
    C# 语言特性发展史
    在angular 6中使用 less
    使用WeihanLi.Redis操作Redis
    [svc]jq神器使用
    [sh]shell脚本栗子
    [k8s]nginx-ingress配置4/7层测试
    [svc]nginx-module-vts第三方模块安装配置
    [k8s]helm原理&私有库搭建&monocularui和kubeapp探究
  • 原文地址:https://www.cnblogs.com/sdysyhj/p/7738258.html
Copyright © 2011-2022 走看看