题解 | #简单密码#

简单密码

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

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

public class Main {
    static HashMap<String,Character> map = new HashMap<>();//abc--2, def--3, ghi--4, jkl--5, mno--6, pqrs--7, tuv--8 wxyz--9
    static {//用hashmap来记录映射关系,方便后续更新和修改
        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');
    }
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String str = in.nextLine();
        for (int i = 0; i < str.length();i++) {
            System.out.print(String.valueOf(change(str.charAt(i))));
        }
    }

    private static char change(char ch) {
        for (Map.Entry entry :map.entrySet()) {
            if(entry.getKey().toString().contains(String.valueOf(ch))){
                return (char) entry.getValue();
            }
        }
        if(ch >= 'A' && ch < 'Z'){
            return (char) (ch - ('A'-'a') +1);
        }else if(ch == 'Z'){
            return 'a';
        }
        return ch;
    }
}

全部评论

相关推荐

03-03 19:02
已编辑
东华理工大学 Node.js
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务