lesson 4:凯撒密码问题
Posted 蔡二傻
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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.运行结果
以上是关于lesson 4:凯撒密码问题的主要内容,如果未能解决你的问题,请参考以下文章