题解 | #简单密码#
简单密码
http://www.nowcoder.com/practice/7960b5038a2142a18e27e4c733855dac
import java.util.*;
import java.lang.*;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
String s=sc.nextLine();
int n=s.length();
Map<Character,Integer> map=new HashMap<>();
//将小写字母对应的数字存放在map中
map.put('a',2);
map.put('b',2);
map.put('c',2);
map.put('d',3);
map.put('e',3);
map.put('f',3);
map.put('g',4);
map.put('h',4);
map.put('i',4);
map.put('j',5);
map.put('k',5);
map.put('l',5);
map.put('m',6);
map.put('n',6);
map.put('o',6);
map.put('p',7);
map.put('q',7);
map.put('r',7);
map.put('s',7);
map.put('t',8);
map.put('u',8);
map.put('v',8);
map.put('w',9);
map.put('x',9);
map.put('y',9);
map.put('z',9);
//用于输出的sb
StringBuilder sb=new StringBuilder();
for(int i=0;i<n;i++){
//当前字符是大写字母并且不是'Z'时,将字符+33
if(Character.isUpperCase(s.charAt(i)) && s.charAt(i)!='Z'){
sb.append((char)(s.charAt(i)+33));
}
//是'Z'时,添加'a'
else if(s.charAt(i)=='Z'){
sb.append("a");
}
//当时小写字母时,添加其对应的数字
else if(Character.isLowerCase(s.charAt(i))){
sb.append(map.get(s.charAt(i)));
}
//当是其他字符时,直接将字符添加进来
else{
sb.append(s.charAt(i));
}
}
System.out.println(sb.toString());
}
}
}