欢迎来到刘瑞欣的博客

人生三从境界:昨夜西风凋碧树,独上高楼,望尽天涯路。 衣带渐宽终不悔,为伊消得人憔悴。 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。

课后作业1:字串加密

 

 

1.设计思想:首先判断是要加密还是解密,然后再进行字符串的通过ASCLL码表值的加减来完成加密或者解密。

2.程序流程图:

3.源代码:

 1 package Luomamima;
 2 import java.util.Scanner;
 3 public class Test 
 4 {
 5     private static Scanner scan;
 6     public static void main(String[] args)
 7     {
 8         Scanner scanner=new Scanner(System.in);
 9         int length;  //用户输入的字符串长度  
10         String s;
11         scan = new Scanner(System.in); 
12         System.out.println("请选择你要进行的操作:");
13         System.out.println("1.加密字符串");
14         System.out.println("2.解密字符串");
15         int a=scanner.nextInt();
16         System.out.println("请输入要加密或解密的字符串:");
17         s  = scan.nextLine();  //读取用户输入的字符串并赋值给s
18         System.out.println("你输入的字符串为:"+s );
19         length = s .length();  //得到用户输入字符串的长度
20         char array[] = s .toCharArray();  //将用户输入的字符串转化为字符数组
21         if(a==1)//加密
22         {    for(int i=0;i<length;i++)  //将每个字符进行变换
23             {    
24                 if((array[i]>=65&&array[i]<=87))
25                     array[i]=(char) (array[i]+3);
26                 else if((array[i]>=88&&array[i]<=90))
27                     array[i]=(char) (array[i]-23);
28             }
29             StringBuffer arr = new StringBuffer();  //定义一个stringbuffer类的变量arr
30             for(int i=0;i<length;i++)
31             {
32                 arr.append(array[i]);  //运用append方法,参考StringBufferAppend。java
33             }
34             String newstr = arr.toString();  //将变换后的重新组合为字符串
35             System.out.println("加密后字符串为:"+newstr);  //打印组合后的字符串
36         }
37         if(a==2)//解密
38         {
39             for(int i=0;i<length;i++)  //将每个字符进行变换
40             {    
41                 if((array[i]>=68&&array[i]<=90))
42                     array[i]=(char) (array[i]-3);
43                 else if((array[i]>=65&&array[i]<=67))
44                     array[i]=(char) (array[i]+23);
45             }
46             StringBuffer arr = new StringBuffer();  //定义一个stringbuffer类的变量arr
47             for(int i=0;i<length;i++)
48             {
49                 arr.append(array[i]);  //运用append方法
50             }
51             String newstr = arr.toString();  //将变换后的重新组合为字符串
52             System.out.println("解密后的字符串为:"+newstr);  //打印组合后的字符串
53         }
54                 
55     }
56 }

4.结果截图:

加密:

解密:

 

posted on 2017-10-27 16:18  吃藕八怪。  阅读(174)  评论(0编辑  收藏  举报