码迷,mamicode.com
首页 > 其他好文 > 详细

字串加密

时间:2017-10-27 01:58:50      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:使用   oid   9.png   字符数组   es2017   ges   利用   pac   style   

                                   字串加密

  1.问题提出:

    古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报:

            技术分享

    1. 解决方法:

     1.设计思想

  方法1. 读入一行字符串,赋给str,利用string.charAt()函数依次取出str所存的字符,若是该字符在a-uA-U间,将该字符加3赋给字符temp,或者该字符在v-zV-Z间,将该字符减23赋给temp,将tempstr1连接起来赋给str1。重复该操作,直到结束循环。str1即是加密后的字符串。

  方法2. 读入一行字符串,赋给s,利用String.toCharArray()s转化为字符数组a[],再通过循环取出每个字符,判断若是该字符在a-uA-U间,将该字符加3赋给int数组d[i],或者该字符在v-zV-Z间,将该字符减23的值赋给d[i],再将d[i]转为对应的字符temp,将tempstr连接起来赋给str。重复该操作,直到结束循环。

综上以上两方法实质相同。

       2.程序流程图

                                                 技术分享

                                      技术分享

                                        技术分享

                                           技术分享

                                               技术分享

                                                      技术分享

      3.源代码

     方法一

  

 1 package String;
 2 
 3 import java.util.Scanner;
 4 
 5 public class Secret {
 6     public static void main(String[] args) {
 7         Scanner in=new Scanner (System.in);
 8         System.out.println("输入初始字符串:");
 9         String str1="";
10         int n=0;
11         String str=in.nextLine();
12         n=str.length();
13         char temp=0;
14         for(int i=0;i<n;i++)
15         {
16             if(str.charAt(i)>64&&str.charAt(i)<88||str.charAt(i)>96&&str.charAt(i)<120)
17                 temp=(char)(str.charAt(i)+3);
18             else if(str.charAt(i)>87&&str.charAt(i)<91||str.charAt(i)>119&&str.charAt(i)<123)
19                 temp=(char)(str.charAt(i)-23);
20             else
21                 temp=(char)str.charAt(i);
22             str1+=temp;
23         }
24         System.out.println("加密后的字符串\n"+str1);
25 }
26 }

 

 

 

     方法二

 1 package String;
 2 
 3 import java.util.Scanner;
 4 
 5 public class Secret {
 6     public static void main(String[] args) {
 7         Scanner in=new Scanner (System.in);
 8         System.out.println("输入初始字符串:");
 9         String str="";
10         char temp=0;
11         String s=in.nextLine();
12         int d[]=new int[s.length()];
13         char a[]=s.toCharArray();
14         for(int i=0;i<s.length();i++)
15         {
16             if(a[i]>=‘A‘&&a[i]<=‘U‘||a[i]>=‘a‘&&a[i]<=‘u‘)
17             { d[i]=a[i]+3; }
18             else if((a[i]>=‘V‘&&a[i]<=‘Z‘)||(a[i]>=‘v‘&&a[i]<=‘z‘))
19             {
20                 d[i]=a[i]-23;
21             }    
22             else
23                 d[i]=a[i];
24             temp=(char)d[i];
25             str+=temp;    
26         }
27          System.out.println("加密后的字符串:\n"+str);
28     }
29 
30 }

     4.结果截图

    

         技术分享

 

字串加密

标签:使用   oid   9.png   字符数组   es2017   ges   利用   pac   style   

原文地址:http://www.cnblogs.com/zhao-teng-ass/p/7739819.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!