黑马程序员技术交流社区

标题: 按规律译成密码? [打印本页]

作者: simonqian    时间: 2013-5-13 17:34
标题: 按规律译成密码?
本帖最后由 simonqian 于 2013-5-13 22:39 编辑

A→Z    a→z
B→Y   b→y
C→X   c→x
即第1个字母变成第26个字母,第2个字母变成第25个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变。假如已知道密码是Umtorhs,要求编程序将密码译回原文,并输出密码和原文?
作者: chouwayメ    时间: 2013-5-13 18:37
本帖最后由 chouwayメ 于 2013-5-13 22:33 编辑

思路是:1.把Secret字符串变成字符组。
              2.对属于a-z,A-Z的字符进行密码编译。。。那个规律就是编码前和编码后的字母相加是个定值。

  1. public class Secret
  2. {
  3.         public static void main(String[]args)
  4.         {
  5.                 String sec="Umtorhs__ABCabc";
  6.                 mimi(sec);     
  7.         }
  8.         public static void mimi(String sec)
  9.         {
  10.                 char[] sec1=sec.toCharArray();    //字符串变成字符数组,以方便对每个字符操作
  11.                 for(int i=0;i<sec1.length;i++)
  12.                 {
  13.                         if(sec1[i]>='a'&&sec1[i]<='z')
  14.                                 sec1[i]=(char) ('a'+'z'-sec1[i]);   //对是a-z的字母进行编译                       
  15.                         if(sec1[i]>='A'&&sec1[i]<='Z')
  16.                                 sec1[i]=(char)('A'+'Z'-sec1[i]);   //对是A-Z的字母进行编译
  17.                 }
  18.                 String hold=String.copyValueOf(sec1);    //从编译后的字符数组中得到新的字符串
  19.                 System.out.println("secret="+sec+"\nhold="+hold);
  20.         }
  21. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2