题解 | #简单密码#

简单密码

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

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNextLine()) { // 注意 while 处理多个 case
            String a = in.nextLine();
            //小写字母转换
            a = changeLower(a);
            //大写字母转换
            a = changeUpper(a);
            System.out.println(a);
        }
    }

    private static String changeUpper(String s) {
        s = s.replaceAll("[Z]", "a");
        String a = s;
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            String s1 = String.valueOf(c);
            if (s1.matches("[A-Y]")) {
                c++;
                a = a.replace(s1, String.valueOf(c).toLowerCase());
            }
        }
        return a;
    }

    private static String changeLower(String s) {
        //1--1, abc--2, def--3, ghi--4, jkl--5, mno--6, pqrs--7, tuv--8 wxyz--9, 0--0
        s = s.replaceAll("[a-c]", "2");
        s = s.replaceAll("[d-f]", "3");
        s = s.replaceAll("[g-i]", "4");
        s = s.replaceAll("[j-l]", "5");
        s = s.replaceAll("[m-o]", "6");
        s = s.replaceAll("[p-s]", "7");
        s = s.replaceAll("[t-v]", "8");
        s = s.replaceAll("[w-z]", "9");
        return s;
    }
}

解题思路:

1, 按照题意, 分两步对字符串进行转化;

2, 首先将小写字母转换为对应字符串;

3, 再将大写字母进行转换;

4, 最终进行输出

全部评论

相关推荐

艾莉Alliy:拼多多好像很看重笔试,我秋招的时候笔试ak了,面试问了好多八股,全都说“不会”,照样全部通过了面试
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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