课后作业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 }

结果截图:

 

转载于:https://www.cnblogs.com/china-xyh/p/7746995.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值