一,凯撒密码

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

现在用java实现

程序设计思想:

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

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

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

程序流程图

源程序代码

 /**
*
*/
package 课堂4;
import java.util.Scanner;
/**
* @author 信1605-3吴鑫20163471
*/
public class Ceasarcipher
{
/**
* @param args
*/
public static void main(String args[])
{// TODO 自动生成的方法存根
Scanner sc=new Scanner(System.in);//用户输入字符串
System.out.println("请输入任意英文字符串:");
String s=sc.nextLine();
sc.close();
char c[]=s.toCharArray();//将字符串转换为字符数组 for(int i=0;i<s.length();i++)//将每个字符依次加密
{
if(c[i]>=65&&c[i]<=90||c[i]>=97&&c[i]<=122)//如果是英文字母就执行凯撒加密
c[i]=(char)(c[i]+3); if((c[i]>90&&c[i]<97)||c[i]>122)//当字母为x,y,z时,转化为a,b,c
c[i]=(char)(c[i]-26);
} String result="该英文字串加密后的密文为:\n";
for(int i=0;i<s.length();i++)//将加密后的字符连接成字符串输出
{
result+=c[i];
}
System.out.println(result);
}
}

程序运行结果

最新文章

  1. 调试台自动多出现一个&#39;&amp;#65279;&#39; ,我 用uploadify上传图片时,在给页面写入一个返回值为图片名称的变量的值的时候值的前面始终多出现一个&#39;&amp;#65279;&#39;
  2. [译]Mongoose指南 - 查询
  3. http://www.cnblogs.com/wzh206/archive/2010/03/21/1691112.html
  4. Android 使用httpClient POST 模拟发送 multipart表单内容
  5. CSRF攻击[转]
  6. hdu 5464 Clarke and problem dp
  7. php中位运算的应用:货品的状态
  8. c++模板类被继承时他的成员不能被子类看到
  9. Sublime和Codeblocks支持C++11
  10. perl的列表(List)和数组(Array)
  11. JS——实现短信验证码的倒计时功能(没有验证码,只有倒计时)
  12. beautifulSoup模块
  13. 关于Devexpress15.2中GridControl控件选择字段ColumnEdit下拉时间设置
  14. Android 的自动化测试资源
  15. (NO.00002)iOS游戏精灵战争雏形(十二)
  16. JSON使用与类型转换
  17. SSD win7优化步骤
  18. JsonPath:从多层嵌套Json中解析所需要的值
  19. leetcode435
  20. 使用 IntraWeb (14) - 基本控件之 TIWHRule、TIWRectangle

热门文章

  1. 201521123014 《Java程序设计》第11周学习总结
  2. 子元素设定margin值会影响父元素
  3. Hyperledger Fabric 1.0 从零开始(五)——运行测试e2e
  4. MyBatis框架(一)
  5. JPA常用注解(转载)
  6. Mysql修改id自增值
  7. Extjs2.0 desktop 动态创建桌面图标和开始菜单
  8. CyclicBarrier的使用之王者荣耀打大龙
  9. EGit使用教程:第一篇 添加工程到版本控制
  10. Bootstrap框架的了解和使用之栅格系统