密码变换

来源:互联网 发布:域名 端口写法 编辑:程序博客网 时间:2024/06/05 22:54

变换规则


  1. 1–1, abc–2, def–3, ghi–4, jkl–5, mno–6, pqrs–7, tuv–8 wxyz–9, 0–0

  2. 把密码中出现的小写字母都变成对应的数字,数字和其他的符号都不做变换

  3. 密码中没有空格,而密码中出现的大写字母则变成小写之后往后移一位,如:X,先变成小写,再往后移一位,是y。(z往后移是a)

实现


import java.util.Scanner;public class Main{   public static void main(String args[]){        Scanner in = new Scanner(System.in);        Main test = new Main();        while(in.hasNextLine()){            String result="";            String str = in.nextLine();            int len = str.length();            for(int i=0;i<len;i++){                char temp = str.charAt(i);                result+=test.transform(temp);            }            System.out.println(result);        }    }    public char transform(char ch){        if(ch<'Z' && ch>='A'){            ch += 33;            return ch;        }else if(ch<='z' && ch>='a'){            if('a'<=ch && ch<='c'){                ch='2';            }else if('d'<=ch && ch<='f'){                ch='3';            }else if('g'<=ch && ch<='i'){                ch='4';            }else if('j'<=ch && ch<='l'){                ch='5';            }else if('m'<=ch && ch<='o'){                ch='6';            }else if('p'<=ch && ch<='s'){                ch='7';            }else if('t'<=ch && ch<='v'){                ch='8';            }else if('w'<=ch && ch<='z'){                ch='9';            }            return ch;        }else if(ch == 'Z'){            return 'a';        }else            return ch;    }}

测试

YUANzhi1987对应结果:zvbo9441987
0 0
原创粉丝点击