按照题干,注意读题,里面有坑
import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
// 字典
private final static Map<Character, Character> map = new
HashMap<Character, Character>() {
{
// put('1', '1');
put('a', '2');
put('b', '2');
put('c', '2');
put('d', '3');
put('e', '3');
put('f', '3');
put('g', '4');
put('h', '4');
put('i', '4');
put('j', '5');
put('k', '5');
put('l', '5');
put('m', '6');
put('n', '6');
put('o', '6');
put('p', '7');
put('q', '7');
put('r', '7');
put('s', '7');
put('t', '8');
put('u', '8');
put('v', '8');
put('w', '9');
put('x', '9');
put('y', '9');
put('z', '9');
}
};
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String pw = in.nextLine();
int length = pw.length();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < length; i++) {
char c = pw.charAt(i);
if (isNum(c)) {
sb.append(c);
} else if (isLower(c)) {
sb.append(map.get(c));
} else if (isUpper(c)) {
// 注意题干,有坑,一定要细致读题!!
if (c == 'Z') {
sb.append('a');
} else {
// 转换为小写,在往后移动一个位置,c+32 大写变小写,+1 向右边移动一个位置
sb.append((char)(toLowerCase(c) + 1));
}
} else {
sb.append(c);
}
}
System.out.println(sb);
}
// 字符类型判断是否是数字
private static boolean isNum(char c) {
return Character.isDigit(c);
}
// 字符类型判断是否是小写
private static boolean isLower(char c) {
return c >= 'a' && c <= 'z';
}
// 字符类型判断是否是小写
private static boolean isUpper(char c) {
return c >= 'A' && c <= 'Z';
}
// 字符类型大写转小写
private static char toLowerCase(char c) {
return (char)(c + 32);
}
}

京公网安备 11010502036488号