变换规则
1–1, abc–2, def–3, ghi–4, jkl–5, mno–6, pqrs–7, tuv–8 wxyz–9, 0–0
把密码中出现的小写字母都变成对应的数字,数字和其他的符号都不做变换
密码中没有空格,而密码中出现的大写字母则变成小写之后往后移一位,如: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