lesson 4:凯撒密码问题
一·问题描述
二·解决过程
1.设计思路
①人机交互界面
②加密函数(将字符串的每一个字符提取出来,通过对字符的阿斯克码值进行运算操作实现加密过程,特殊的特殊对待)
③解密函数(与加密函数算法类似)
2.流程图
3.源代码
//20163683 信1605-3 蔡金阳 package lesson4; import java.util.Scanner; public class Ceasar { public static void main( String args[] ){ System.out.println("请输入要进行的操作:1.加密 2.解密 0.退出 "); Scanner sc=new Scanner(System.in); int x=sc.nextInt(); for(;x!=0;){ if(x==1){ System.out.println("请输入要加密的文字:"); String str=sc.next(); Jiam(str); } else if(x==2){ System.out.println("请输入要解密的文字:"); String str=sc.next(); Jiem(str); } System.out.println("请输入要进行的操作:1.加密 2.解密 0.退出 "); x=sc.nextInt(); } } public static void Jiam(String s){ int a=3; String jiam=""; for(int i=0;i<s.length();i++){ char c=s.charAt(i); if(c>='a'&&c<='z'){ if(c>='a'&&c<'x'){ c+=a; } else{ c-=26-a; } } if(c>='A'&&c<='Z'){ if(c>='A'&&c<'X'){ c+=a; } else{ c-=26-a; } } jiam+=c; } System.out.println("加密后的密文为:"+jiam); } public static void Jiem(String s){ int a=3; String jiam=""; for(int i=0;i<s.length();i++){ char c=s.charAt(i); if(c>='a'&&c<='z'){ if(c>'c'&&c<='z'){ c-=a; } else{ c+=26-a; } } if(c>='A'&&c<='Z'){ if(c>'C'&&c<='z'){ c-=a; } else{ c+=26-a; } } jiam+=c; } System.out.println("加密后的密文为:"+jiam); } }
4.运行结果