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="该英文字串加密后的密文为:\n"; 32 for(int i=0;i<s.length();i++)//将加密后的字符连接成字符串输出 33 { 34 result+=c[i]; 35 } 36 System.out.println(result); 37 } 38 }
程序运行结果