题解 | HJ21#简单密码#

简单密码

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

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
//        1--1, abc--2, def--3, ghi--4, jkl--5, mno--6, pqrs--7, tuv--8 wxyz--9, 0--0
//        把密码中出现的小写字母都变成九键键盘对应的数字,如:a 变成 2,x 变成 9.
//        而密码中出现的大写字母则变成小写之后往后移一位,如:X ,先变成小写,再往后移一位,变成了 y ,例外:Z 往后移是 a 。
        Scanner scanner = new Scanner(System.in);
        String s = scanner.nextLine();
        ArrayList<String> list = new ArrayList<>();
        if (s.length() <= 100) {
            char[] chars = s.toCharArray();
            for (int i = 0; i < chars.length; i++) {
                if (chars[i] == 'a' || chars[i] == 'b' || chars[i] == 'c') {
                    list.add(String.valueOf(2));
                } else if (chars[i] == 'd' || chars[i] == 'e' || chars[i] == 'f') {
                    list.add(String.valueOf(3));
                } else if (chars[i] == 'g' || chars[i] == 'h' || chars[i] == 'i') {
                    list.add(String.valueOf(4));
                } else if (chars[i] == 'j' || chars[i] == 'k' || chars[i] == 'l') {
                    list.add(String.valueOf(5));
                } else if (chars[i] == 'm' || chars[i] == 'n' || chars[i] == 'o') {
                    list.add(String.valueOf(6));
                } else if (chars[i] == 'p' || chars[i] == 'q' || chars[i] == 'r' ||
                           chars[i] == 's') {
                    list.add(String.valueOf(7));
                } else if (chars[i] == 't' || chars[i] == 'u' || chars[i] == 'v') {
                    list.add(String.valueOf(8));
                } else if (chars[i] == 'w' || chars[i] == 'x' || chars[i] == 'y' ||
                           chars[i] == 'z') {
                    list.add(String.valueOf(9));
                } else if (chars[i] == '1') {
                    list.add(String.valueOf(1));
                } else if (chars[i] == '0') {
                    list.add(String.valueOf(0));
                }
//                例外:Z 往后移是 a 。
                else if (65 <= (int)chars[i] && (int)chars[i] <= 89) {
                    int num = (int)chars[i] + 1;
                    char ch = (char)num ;
                    list.add(String.valueOf(ch).toLowerCase());
                } else if ((int)chars[i] == 90) {
                    list.add(String.valueOf('a'));
                } else {
                    list.add(String.valueOf(chars[i]));
                }

            }

        }
        for (String s1 : list) {
            System.out.print(s1);
        }

    }
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 11:16
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 14:00
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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