41:简单密码
题目描述:
他是这么变换的,大家都知道手机上的字母: 1--1, abc--2, def--3, ghi--4, jkl--5, mno--6, pqrs--7, tuv--8 wxyz--9, 0--0,就这么简单,渊子把密码中出现的小写字母都变成对应的数字,数字和其他的符号都不做变换.
声明:密码中没有空格,而密码中出现的大写字母则变成小写之后往后移一位,如:X,先变成小写,再往后移一位,不就是y了嘛,简单吧。记住,z往后移是a哦。
输入描述:
输入包括多个测试数据。输入是一个明文,密码长度不超过100个字符,输入直到文件结尾
输出描述:输出渊子真正的密文
输入例子:
YUANzhi1987
输出例子:
zvbo9441987
1 import java.util.Scanner; 2 3 public class Main { 4 5 public static void main(String[] args) { 6 Scanner in = new Scanner(System.in); 7 while(in.hasNext()) 8 { 9 String psw = in.nextLine(); 10 String result = translate(psw); 11 System.out.println(result); 12 } 13 } 14 15 private static String translate(String psw) { 16 if(!psw.isEmpty() && !(psw == null)) 17 { 18 //char[] content = psw.toCharArray(); 19 char content = '0'; 20 char[] result = new char[psw.length()]; 21 char temp; 22 for(int i=0; i<psw.length();i++) 23 { 24 content = psw.charAt(i); 25 //Upper 26 if(content <= 'Z' && content >= 'A') 27 { 28 temp = Character.toLowerCase(content); 29 if(temp == 'z') 30 { 31 result[i] = 'a'; 32 } 33 else 34 result[i] = (char)(Integer.valueOf(temp)+1); 35 } 36 //num 37 if(content >= '0' && content<='9' ) 38 { 39 result[i] = content; 40 } 41 //Lower 42 /*if (c >= 'a' && c <= 'z') { 43 if (c == 's' || c == 'v'|| c == 'y' || c == 'z') 44 sb.append((c - 'a') / 3 + 1); 45 else 46 sb.append((c - 'a') / 3 + 2);*/ 47 if(content <= 'z' && content >= 'a') 48 { 49 if(content<='c' && content >= 'a' ) 50 { 51 result[i] = '2'; 52 } 53 else if(content<='f' && content >= 'd' ) 54 { 55 result[i] = '3'; 56 } 57 else if(content<='i' && content >= 'g' ) 58 { 59 result[i] = '4'; 60 } 61 else if(content<='l' && content >= 'j' ) 62 { 63 result[i] = '5'; 64 } 65 else if(content<='o' && content >= 'm' ) 66 { 67 result[i] = '6'; 68 } 69 else if(content<='s' && content >= 'p' ) 70 { 71 result[i] = '7'; 72 } 73 else if(content<='v' && content >= 't' ) 74 { 75 result[i] = '8'; 76 } 77 else 78 //if(content<='z' && content >= 'w' ) 79 { 80 result[i] = '9'; 81 } 82 83 } 84 } 85 return String.valueOf(result); 86 } 87 return null; 88 } 89 90 }