课后作业04-1

字串加密

程序设计思想:用户输入1或2选择加密还是解密,然后输入字符串,调用加密或解密函数。加密函数:提取字符串的每个字符保存到字符变量c中令c=c-'A',使字符转换成0-25的数字,令c=(c+3)%26+‘A’,对字符进行加密,然后逐个输出加密后的字符。解密函数:与加密函数相似,只是将c=(c+3)%26+'A'变为c=(c-3+23)%26+'A'。

程序流程图:

源代码:

 1 import java.util.Scanner;
 2 
 3 public class JiaMi 
 4 
 5 {
 6     public static void main(String [] args)
 7     
 8     {
 9         String str;
10         
11         int n;
12         
13         Scanner input=new Scanner(System.in);
14         
15         Scanner in=new Scanner(System.in);
16         
17         while(true)
18             
19         {
20             System.out.println("1.加密\n2.解密\n请选择:");
21             
22             n=input.nextInt();
23             
24             if(n==1)
25             
26             {
27         
28                 System.out.println("请输入要加密的字符串:");
29             
30                 str=in.nextLine();
31             
32                 jiaMi(str);
33             }
34             
35             else if(n==2)
36                 
37             {
38                 System.out.println("请输入要解密的字符串:");
39                 
40                 str=in.nextLine();
41                 
42                 jieMi(str);
43             }
44             
45             else
46                 
47                 System.out.println("选择错误");
48             
49             System.out.println();
50         
51         }
52     }
53     
54     
55     static void jiaMi(String p)
56     
57     {
58         int c;
59         
60         for(int i=0;i<p.length();i++)
61             
62         {
63             c=p.charAt(i)-'A';
64             
65             c=(c+3)%26+'A';
66             
67             System.out.print((char)c);
68             
69         }
70     }
71     
72     static void jieMi(String p)
73     
74     {
75         int c;
76         
77         for(int i=0;i<p.length();i++)
78             
79         {
80             c=p.charAt(i)-'A';
81             
82             c=(c-3+26)%26+'A';
83             
84             System.out.print((char)c);
85         }
86     }
87 }

结果截图:

 

posted @ 2017-10-28 15:04  解语阁  阅读(130)  评论(0编辑  收藏  举报