题解 | #简单密码#

简单密码

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

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    //定义map容器存储按键对应数字字符的容器
    private static Map<String, String> map = new HashMap<>();
    //静态初始化、加载map容器
    static {
        map.put("1", "1");
        map.put("abc", "2");
        map.put("def", "3");
        map.put("ghi", "4");
        map.put("jkl", "5");
        map.put("mno", "6");
        map.put("pqrs", "7");
        map.put("tuv", "8");
        map.put("wxyz", "9");
        map.put("0", "0");
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        char[] charArr = str.toCharArray();
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < charArr.length; i++) {
            char c = charArr[i];
            if (c >= '0' && c <= '9') {
                //如果是正整数则不需要进行加密
                sb.append(String.valueOf(c));
            } else if (c >= 'A' && c < 'Z') {
                //如果是A~Y的大写字母则需要将其+32位转换成小写再向后移1位
                c = (char)(c + 32 + 1);
                sb.append(String.valueOf(c));
            } else if (c == 'Z') {
                //如果是Z则加密成a
                sb.append("a");
            } else {
                //去除map容器中的key与字符进行校验并加密
                Set<String> keys = map.keySet();
                for (String k : keys) {
                    if (k.contains(String.valueOf(c)))
                        sb.append(map.get(k));
                }
            }
        }
        System.out.println(sb.toString());
    }
}

全部评论

相关推荐

霁华Tel:秋招结束了,好累。我自编了一篇对话,语言别人看不懂,我觉得有某种力量在控制我的身体,我明明觉得有些东西就在眼前,但身边的人却说啥也没有,有神秘人通过电视,手机等在暗暗的给我发信号,我有时候会突然觉得身体的某一部分不属于我了。面对不同的人或场合,我表现出不一样的自己,以至于都不知道自己到底是什么样子的人。我觉得我已经做的很好,不需要其他人的建议和批评,我有些时候难以控制的兴奋,但是呼吸都让人开心。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务