1.设计思想
先把输入的字符串转化为字符数组,利用for循环对字符进行加密,或者解密,最后注意把26个英文字母中的A B C和X Y Z互相进行转换,从而完成加密。
2.程序流程图
3.源代码
package test2;
import java.util.Scanner;//引入Scanner类包
public class JiaMi
{ public static void main(String[] args) {System.out.println("选择要进行的操作:1-加密 2-解密");
Scanner input=new Scanner(System.in);//输入语句 int c=input.nextInt(); if(c==1) { System.out.println("请输入要加密的字符串:"); String str=input.next();//将输入的字符串存到str中 char[] a=new char[str.length()];//创建字符数组a a=str.toCharArray();//将用户输入的字符串通过toCharArray()转化为字符数组存到a中 for(int i=0;i<str.length();i++)//将用户输入的X、Y、Z特殊处理转化为A、B、C { if(a[i]=='X') { a[i]='A'; } else if(a[i]=='Y') { a[i]='B'; } else if(a[i]=='Z') { a[i]='C'; } else { a[i]=(char)(a[i]+3);//将一般的数组字符直接加3然后强制类型转化为char类型 } } String s=""; for(int i=0;i<str.length();i++)//将字符数组转化为字符串 { s=s+a[i]; } System.out.println("加密后的字符串为:\n"+s);//输出语句 } else if(c==2) { System.out.println("请输入要解密的字符串:"); String str=input.next();//将输入的字符串存到str中 char[] a=new char[str.length()];//创建字符数组a a=str.toCharArray();//将用户输入的字符串通过toCharArray()转化为字符数组存到a中 for(int i=0;i<str.length();i++)//将用户输入的A、B、C特殊处理转化为X、Y、Z { if(a[i]=='A') { a[i]='X'; } else if(a[i]=='B') { a[i]='Y'; } else if(a[i]=='C') { a[i]='Z'; } else { a[i]=(char)(a[i]-3);//将一般的数组字符直接减3然后强制类型转化为char类型 } } String s=""; for(int i=0;i<str.length();i++)//将字符数组转化为字符串 { s=s+a[i]; } System.out.println("解密后的字符串为:\n"+s);//输出语句 } } }4.结果截图