题解 | #简单密码#

简单密码

https://www.nowcoder.com/practice/7960b5038a2142a18e27e4c733855dac

import java.util.HashMap;
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        String pwd = new Scanner(System.in).nextLine();
        HashMap<Character, Integer> charNumMapper = new HashMap<>();
        {
            charNumMapper.put('a', 2);
            charNumMapper.put('b', 2);
            charNumMapper.put('c', 2);
            charNumMapper.put('d', 3);
            charNumMapper.put('e', 3);
            charNumMapper.put('f', 3);
            charNumMapper.put('g', 4);
            charNumMapper.put('h', 4);
            charNumMapper.put('i', 4);
            charNumMapper.put('j', 5);
            charNumMapper.put('k', 5);
            charNumMapper.put('l', 5);
            charNumMapper.put('m', 6);
            charNumMapper.put('n', 6);
            charNumMapper.put('o', 6);
            charNumMapper.put('p', 7);
            charNumMapper.put('q', 7);
            charNumMapper.put('r', 7);
            charNumMapper.put('s', 7);
            charNumMapper.put('t', 8);
            charNumMapper.put('u', 8);
            charNumMapper.put('v', 8);
            charNumMapper.put('w', 9);
            charNumMapper.put('x', 9);
            charNumMapper.put('y', 9);
            charNumMapper.put('z', 9);
        }

        StringBuilder sb = new StringBuilder();

        for (int i = 0; i < pwd.length(); i++) {
            char c = pwd.charAt(i);
            if (c >= 'A' && c <= 'Z') {
                sb.append(c == 'Z' ? 'a' : (char) ((c ^ 32) + 1));
            } else if (c >= 'a' && c <= 'z') {
                sb.append(charNumMapper.get(c));
            } else {
                sb.append(c);
            }
        }
        System.out.println(sb);
    }
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务