程序思想:输入一个字符串,把字符串里的每一个字符用charAt()的方法放入一个数组里,在数组里定义一个char类型的变量,把数组里的每一个值都赋给这个变量,加密就加上3,这样就能把ACS码值加3,自然就得到了答案,但是要为最后三个字母写三个if,让遇到xyz的时候退回abc。解密的过程类似。
源代码://20142984 chengchongjing
import java.io.InputStream;
//凯撒密码
import java.util.Scanner;
public class Secrect {
public static void main(String[] args) {
// TODO 自动生成的方法存
Scanner in= new Scanner (System.in);
System.out.println("请输入要进行的操作 1加密 2解密");
int n=in.nextInt();
if(n==1){
System.out.println("请输入要加密的字符串");
String str=in.next();
String jm="";
int key=3;
for(int i=0;i<str.length();i++)
{
char c=str.charAt(i);
if(c>='a'&&c<='w'){
c+=key;
}
else if(c=='x') {
c='a';
}
else if(c=='y')
{
c='b';
}
else if(c=='z')
{
c='c';
}
jm+=c;
}
System.out.println("要加密的字符串是:"+jm);
}
if(n==2){
System.out.println("请输入要解密的字符串");
String str2=in.next();
String jm2="";
int key=3;
for(int i=0;i<=str2.length();i++){
char c2=str2.charAt(i);
if(c2>'d'&&c2<'z')
{
c2-=key;
}
else if(c2=='a'){
c2='x';
}
else if(c2=='b'){
c2='y';
}
else if(c2=='c')
{
c2='z';
}
jm2+=c2;
}
System.out.println("要解密的字符串是"+jm2);
}
}
}