1.程序设计思想
字符串分加密与解密两种操作,首先输入一个字符串,用一个ifelse来判断是哪种操作,当需要加密时,用str.length()求出字符串的长度,
字符串在A-W或a-w之间直接用str.charAt(i)+3加密,字符串在A-W或a-w之间直接用str.charAt(i)+23加密,并将每一个加密后的字母接在一个空的字符串的后面,输出这个字符串,就是加密后的字符串,当需要解密时,与加密正好相反,字符串在D-Z或d-z之间直接用str.charAt(i)-3解密,在A-B或a-b之间直接用str.charAt(i)+23加密,并将其解密的字母接在一个空的字符串后面,输出这个字符串,得到解密后的字符串
2.程序流程图
3.程序源代码
//信1605-1 寇肖萌 20163446
import java.util.Scanner;
import javax.swing.*;
public class Jiami {
static String zifuchuan="";
static int n;
static String str1="";
static char temp=0;
static char charArray[] = new char[100];
public static void main(String args[])
{
int m;
System.out.println("请输入你要进行的操作:
"+"1.加密字符串
"+ "2.解密字符串");
Scanner scanner1=new Scanner(System.in);
m=scanner1.nextInt();
if(m==1)
{
System.out.println("输入要加密的字符串:");
Scanner scanner=new Scanner(System.in);
zifuchuan=scanner.next();
n=zifuchuan.length();
for(int i=0;i<n;i++)
{
if((zifuchuan.charAt(i)>64&&zifuchuan.charAt(i)<88)||(zifuchuan.charAt(i)>96&&zifuchuan.charAt(i)<120))
{
temp=(char)(zifuchuan.charAt(i)+3);
}
else if((zifuchuan.charAt(i)>87&&zifuchuan.charAt(i)<91)||(zifuchuan.charAt(i)>119&&zifuchuan.charAt(i)<123))
{
temp=(char)(zifuchuan.charAt(i)-23);
}
str1+=temp;
}
System.out.println("加密后的字符串是:"+str1);
}
else if(m==2)
{
System.out.println("输入要解密的字符串:");
Scanner scanner2=new Scanner(System.in);
zifuchuan=scanner2.next();
n=zifuchuan.length();
for(int i=0;i<n;i++)
{
if((zifuchuan.charAt(i)>67&&zifuchuan.charAt(i)<91)||(zifuchuan.charAt(i)>99&&zifuchuan.charAt(i)<123))
{
temp=(char)(zifuchuan.charAt(i)-3);
}
else if((zifuchuan.charAt(i)>64&&zifuchuan.charAt(i)<68)||(zifuchuan.charAt(i)>96&&zifuchuan.charAt(i)<100))
{
temp=(char)(zifuchuan.charAt(i)+23);
}
str1+=temp;
}
System.out.println("解密后的字符串是:"+str1);
}
}
}
4.程序运行结果截图