编写一个程序,使用上述算法加密或解密用户输入的英文字串要求设计思想、程序流程图、源代码、结果截图。

设计思想:

将用户输入的字符串变为字符数组,再将字符数组变为字符串。首先定义string变量b取得用户输入字符串。然后读取用户输入的字符串。用tochararray方法将字符串转为字符数组。然后根据a到w的字符每个向后加3,x,y,z这三个每个减去23得到加密后的字符。然后定义可以自由变换长度的stringbuffer类型c,用append方法,接着定义string a用tostring方法将加密后的字符数组转换为字符串进行输出。

源程序:

//信605-3 20163578 于丁一

package 凯撒加密;
import java.util.Scanner;
public class Test {
public static void main(String[] args){
String b;
@SuppressWarnings("resource")
Scanner s = new Scanner(System.in);
System.out.println("请输入英文字符串:");
b = s.nextLine(); //读取用户输入的字符串并赋值给b
char array[] = b.toCharArray(); //将输入的字符串转化为字符数组
for(int i=0;i<b.length();i++) 
{
if((array[i]>=65&&array[i]<=87)||(array[i]>=97&&array[i]<=119))
array[i]=(char) (array[i]+3);
else if((array[i]>=88&&array[i]<=90)||(array[i]>=120&&array[i]<=122))
array[i]=(char) (array[i]-23);
} //a到w的字符每个向后加3得到加密的字符,x,y,z这三个每个减去23得到变换后所得到的字符
StringBuffer c = new StringBuffer(); //定义一个stringbuffer类的变量c
for(int i=0;i<b.length();i++)
{
c.append(array[i]); //运用append方法,参考StringBufferAppend.java
}
String a =c.toString(); //将变换后的重新组合为字符串
System.out.println("加密后的英文为:"+a); //输出组合后的字符串
}

}

 

结果截图:

posted @ 2017-10-27 17:04  胖虎ydy  阅读(590)  评论(0编辑  收藏  举报