标签:字符串转换 else ascii表 程序代码 ringbuf for port array images
古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报:
解题思路:
键盘盘输入字符串,把字符串转换成数组,在数组中把根据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("输入错误");
}
}
截图:
标签:字符串转换 else ascii表 程序代码 ringbuf for port array images
原文地址:http://www.cnblogs.com/miria-486/p/7739779.html