一.字符串加密

1.设计思想

输入英文字符串,根据加密或解密密码将英文字符串进行逐个加密或解密,最后输出加密或解密后的字符串

2.程序流程图

3.源代码

package kaisa;
import java.util.Scanner;
public class kaisa
{
public static void main(String[] args)
{
System.out.println("请选择:1.加密 2.解密");
Scanner c=new Scanner(System.in);
String ss=c.nextLine();
if(ss.equalsIgnoreCase("1"))//if语句判断加密还是解密
{
System.out.println("请输入要加密的英文字符串");
Scanner sc=new Scanner(System.in);
String s=sc.nextLine();
System.out.println("请入加密密码");
Scanner sc1=new Scanner(System.in);
int key=sc1.nextInt();
jiami(s,key);
}
else if(ss.equalsIgnoreCase("2"));
{
System.out.println("请输入要解密的英文字符串");
Scanner sc=new Scanner(System.in);
String s=sc.nextLine();
System.out.println("请输入解密密码");
Scanner sc1=new Scanner(System.in);
int key=sc1.nextInt();
jiemi(s,key);
}
}

public static void jiami(String str,int k)//加密函数
{
String string="";
for(int i=0;i<str.length();i++)
{
char c=str.charAt(i);
if(c>='a'&&c<='z')
{
c+=k%26;
if(c<'a')
c+=26;
if(c>'z')
c-=26;
}
else if(c>='A'&&c<='Z')
{
c+=k%26;
if(c<'A')
c+=26;
if(c>'Z')
c-=26;
}
string+=c;
}
System.out.println(str+"加密后为:"+string);
}

public static void jiemi(String str,int n)//解密函数
{
int k=Integer.parseInt("-"+n);
String string="";
for(int i=0;i<str.length();i++)
{
char c=str.charAt(i);
if(c>='a'&&c<='z')
{
c+=k%26;
if(c<'a')
{
c+=26;
}
if(c>'z')
{
c-=26;
}
else if(c>='A'&&c<='Z')
{
c+=k%26;
if(c<'A')
{
c+=26;
}
if(c>'Z')
{
c-=26;
}
string+=c;
}
System.out.println(str+"加密后为:"+string);
}
}

4.结果截图