课后作业之字符串加密

Posted BadGuyhaha

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了课后作业之字符串加密相关的知识,希望对你有一定的参考价值。

一:程序设计思想:

该程序开始先输出菜单提示用户输入选项进行操作是要加密还是要解密,通过校验后进行相应操作,加密字符串时先输入要加密的字符串,然后用字符串的toCharArray()方法将字符串转化为char类型数组,然后用循环分别给char类型元素加3,当遇到空格时不加三,对于大写的XYZ三个字母以及小写的xyz三个字母要进行特殊的处理,即要进行加完三后还要减去26,让他们循环到大写的ABC或小写的abc上,对于解密方法,程序一致,只是把加三换成减三,加26换成减26;最后输出相应的字符串。

二:程序流程图:

三:程序源代码:

import java.util.Scanner;
public class Password
{
public static void main(String [] args)
{
Scanner input=new Scanner(System.in);
System.out.println("1 加密");          //输出菜单
System.out.println("2 解密");
System.out.println("请选择");
int choose=input.nextInt();
while(choose!=1&&choose!=2)                               //校验choose
{
System.out.println("输入的选项不符合要求,请重新输入:");
choose=input.nextInt();
}
if(choose==1)                                                           //choose=1进行字符串加密
{
String jiami = null;
System.out.println("请输入要加密的字符串:");
input.nextLine();
jiami=input.nextLine();
char ch[]=jiami.toCharArray();
System.out.println("加密后为:");
for(int i=0;i<jiami.length();i++)
{
if(ch[i]==\' \')ch[i]=\' \';
else
ch[i]=(char) (ch[i]+3);
if(ch[i]>\'Z\'&&ch[i]<(char)\'Z\'+4||ch[i]>\'z\')
ch[i]=(char) (ch[i]-26);
System.out.print(ch[i]);
}
}
if(choose==2)                //choose=2进行字符串解密
{
String jiemi = null;
System.out.println("请输入要解密的字符串:");
input.nextLine();
jiemi=input.nextLine();
char ch1[]=jiemi.toCharArray();
System.out.println("解密后为:");
for(int i=0;i<jiemi.length();i++)
{
if(ch1[i]==\' \')ch1[i]=\' \';
else
ch1[i]=(char) (ch1[i]-3);
if(ch1[i]>\'A\'-4&&ch1[i]<\'A\'||ch1[i]>(char)\'a\'-4&&ch1[i]<\'a\')
ch1[i]=(char) (ch1[i]+26);
System.out.print(ch1[i]);
}
}

}

}

四:结果截图:

 

以上是关于课后作业之字符串加密的主要内容,如果未能解决你的问题,请参考以下文章

课后作业之字串加密动手动脑

04-课后作业1-字符串加密

课后作业---字符串

课后作业04-1

课后作业

课后作业:字符串加密