设计思想:输入一个字符串,将字符串利用函数转化为字符数组,利用循环将每个字符加3(解密)减3(加密)后强转为char类型,在这个过程中需要考虑X,Y,Z这三个字符的特殊情况。之后将字符数组转化为字符串进行输出。主函数中对函数进行调用即可。
流程图:
源代码:
import java.util.Scanner;
class jiami
{
private String password;
int number;
char []b;
char []c;
public void setPassword(String password)//给私有变量赋值
{
this.password=password;
}
public void change()//将字符串转化为字符数组
{
number=password.length();
b=password.toCharArray();
c=password.toCharArray();
}
public void show()//将字符数组转化为字符串并输出
{
for(int i=0;i<number;i++)
{
if(b[i]=='X')
{
b[i]='A';
}
else if (b[i]=='Y')
{
b[i]='B';
}
else if (b[i]=='Z')
{
b[i]='C';
}
else
b[i]=(char) (b[i]+3);
}
String password2=new String(b);
System.out.println("解密得:");
System.out.println(password2);
for(int i=0;i<number;i++)
{
if(c[i]=='A')
{
c[i]='X';
}
else if (c[i]=='B')
{
c[i]='Y';
}
else if (c[i]=='C')
{
c[i]='Z';
}
else
c[i]=(char) (c[i]-3);
}
String password3=new String(c);
System.out.println("加密得:");
System.out.println(password3);
}
}
public class replace {
public static void main(String[] args) {
// TODO 自动生成的方法存根
String password;
jiami p=new jiami();
System.out.println("请输入一个字符串:");
Scanner input=new Scanner(System.in);
password=input.nextLine();
p.setPassword(password);
p.change();
p.show();
}
}
结果截图: