题解 | #简单密码#

简单密码

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

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

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        Map<String, Integer> map = new HashMap<>();
        map.put("1", 1);
        map.put("a", 2);
        map.put("b", 2);
        map.put("c", 2);
        map.put("d", 3);
        map.put("e", 3);
        map.put("f", 3);
        map.put("g", 4);
        map.put("h", 4);
        map.put("i", 4);
        map.put("j", 5);
        map.put("k", 5);
        map.put("l", 5);
        map.put("m", 6);
        map.put("n", 6);
        map.put("o", 6);
        map.put("p", 7);
        map.put("q", 7);
        map.put("r", 7);
        map.put("s", 7);
        map.put("t", 8);
        map.put("u", 8);
        map.put("v", 8);
        map.put("w", 9);
        map.put("x", 9);
        map.put("y", 9);
        map.put("z", 9);
        map.put("0", 0);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNext()) { // 注意 while 处理多个 case
            String str = in.nextLine();
            StringBuilder sb = new StringBuilder();
            for (char a : str.toCharArray()) {
                if (Character.isUpperCase(a)) {
                    char low = Character.toLowerCase(a);
                    if (low == 'z') {
                        char c = (char) (low - 25);
                        sb.append(c);
                    } else {
                        char c = (char) (low + 1);
                        sb.append(c);
                    }
                } else {
                    String s = map.get(String.valueOf(a)) == null ? String.valueOf(
                                   a) : String.valueOf(map.get(String.valueOf(a)));
                    sb.append(s);
                }
            }
            System.out.println(sb);
        }
    }
}

全部评论

相关推荐

昨天 12:29
门头沟学院 Java
后端岗,实习三周感觉有点想跑路了,担心秋招被拉黑,有没有佬是字节HR知道情况的
从零开始的转码生活:你实习三周都想跑路,将来拿到offer真的愿意在这干十几二十年吗
投递字节跳动等公司8个岗位
点赞 评论 收藏
分享
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-10 11:33
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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