凯撒加密

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

解题思路:

键盘盘输入字符串,把字符串转换成数组,在数组中把根据ASCII表+3,在利用StringBuffer转换回字符串,解码原理相同。

程序框图:

程序

程序代码:

import java.util.Scanner;
class jiami
{
String b;
public jiami(String a)
{
b=a;
int m=b.length();
char [] ch = b.toCharArray();
for(int i=0;i<m;i++)
{
if((ch[i]>87&&ch[i]<91)||(ch[i]>118&&ch[i]<123))
ch[i]=(char) (ch[i]-23);
else
ch[i]=(char) ((ch[i])+3);
}
StringBuffer arr = new StringBuffer();

for(int i=0;i<m;i++)

{

arr.append(ch[i]);
}

String newstr = arr.toString();
System.out.println("加密后的密码是:"+newstr);
}
}
class jiemi
{
String b;
public jiemi(String a)
{
b=a;
int m=b.length();
char [] ch = b.toCharArray();
for(int i=0;i<m;i++)
{
if((ch[i]>97&&ch[i]<99)||(ch[i]>87&&ch[i]<91))
ch[i]=(char) (ch[i]+23);
ch[i]=(char) (ch[i]-3);
}
StringBuffer arr = new StringBuffer();

for(int i=0;i<m;i++)

{

arr.append(ch[i]);

}

String newstr = arr.toString();
System.out.println("解密后的密码是:"+newstr);
}
}
public class homework1 {
public static void main(String args[]){
Scanner cin=new Scanner(System.in);
System.out.println("请选择加密,还是解密,加密按1,解密按2");
int m=cin.nextInt();
if(m==1)
{
String a;
System.out.println("请输入密码");
a=cin.next();
jiami jia=new jiami(a);
}
else if(m==2)
{
String a;
System.out.println("请输入密码");
a=cin.next();
jiemi jie=new jiemi(a);
}
else System.out.println("输入错误");

}

}

截图:

 

转载于:https://www.cnblogs.com/miria-486/p/7739779.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值