按照题干,注意读题,里面有坑

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);
    }
}