java吧 关注:1,272,784贴子:12,781,971
  • 34回复贴,共1

求教大神,因为最近看了使徒行者,然后自己设计了一个密码表,然

只看楼主收藏回复

求教大神,因为最近看了使徒行者,然后自己设计了一个密码表,然后想用java做一个翻译器,做的时候遇到个问题,比如,A1=h, B2=e,C1=r,那么输入A1B2C1 就会返回her。这个要怎么写这个代码?方法要怎么写


IP属地:广东来自Android客户端1楼2017-10-18 08:42回复
    思路:"你的密码",replaceAll("A1","h");


    IP属地:广东2楼2017-10-18 09:10
    收起回复
      2025-08-06 07:01:48
      广告
      不感兴趣
      开通SVIP免广告
      2个数组,对应下标


      IP属地:上海3楼2017-10-18 10:56
      收起回复
        类似这样的,照着翻译


        IP属地:广东来自Android客户端4楼2017-10-18 10:57
        收起回复
          问题在于获得我输入的值,然后根据密码表的规则,输出结果。怎么设计这个规则的方法代码


          IP属地:广东来自Android客户端5楼2017-10-18 11:01
          收起回复
            这有什么难的,你用二维数组array把你的密码表存起来,然后再建立坐标数列映射的Map(如:Key:'A',value:6),然后写一个循环把你的输入字符串,转成一个字符数组charArray,然后写个循环只是i++改成 i+=2;然后通过 array[map.get(charArray[i])][map,get(charArray[i+1])] 拿到你要的值。


            IP属地:广东6楼2017-10-18 11:21
            收起回复
              已经成功了,谢谢大佬们,但想问一下如果反过来翻译由her变为A1B2C1呢?


              IP属地:广东来自Android客户端7楼2017-10-18 19:43
              收起回复
                for(int j=0;j<array.length;j++ ){
                for(int i=0;i<array[j].length;i++){
                for(int z=0;z<c.length;z++){
                if(c[z]==array[j][i]){
                switch(i){
                case 0:System.out.print("A"+(j+1));
                break;
                case 1:System.out.print("B"+(j+1));
                break;
                case 2:System.out.print("C"+(j+1));
                break;
                case 3:System.out.print("D"+(j+1));
                break;
                case 4:System.out.print("E"+(j+1));
                break;
                case 5:System.out.print("F"+(j+1));
                break;
                case 6:System.out.print("G"+(j+1));
                break;
                case 7:System.out.print("H"+(j+1));
                break;
                case 8:System.out.print("I"+(j+1));
                break;
                }
                }
                }
                }
                }
                为什么,我输入aha或者 abca,就会出现BUG,其他情况不会


                IP属地:广东8楼2017-10-18 21:56
                收起回复