题解 | #字符串加解密#

字符串加解密

https://www.nowcoder.com/practice/2aa32b378a024755a3f251e75cbf233a

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        ArrayList<String> LIST = new ArrayList<>();
        Collections.addAll(LIST, "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K",
                           "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" );
        ArrayList<String> list = new ArrayList<>();
        Collections.addAll(list, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k",
                           "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z" );
        ArrayList<String> NUM = new ArrayList<>();
        Collections.addAll(NUM, "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" );
        String encode = sc.next();
        String decode = sc.next();

        for (String en : encode.split("" )) {
            if (LIST.contains(en)) {
                if (en.matches("[A-Y]" )) en = list.get(list.indexOf(en.toLowerCase()) + 1);
                if (en.matches("Z" ))     en = list.get(0);
            } else if (list.contains(en)) {
                if (en.matches("[a-y]" )) en = LIST.get(LIST.indexOf(en.toUpperCase()) + 1);
                if (en.matches("z" ))     en = LIST.get(0);
            } else {
                if (en.matches("[0-8]" )) en = NUM.get(NUM.indexOf(en) + 1);
                else    en = NUM.get(0);
            }
            System.out.print(en);
        }
        System.out.println();
        for (String de : decode.split("" )) {
            if (LIST.contains(de)) {
                if (de.matches("[B-Z]" )) de = list.get(list.indexOf(de.toLowerCase()) - 1);
                if (de.matches("A" ))     de = list.get(25);
            } else if (list.contains(de)) {
                if (de.matches("[b-z]" )) de = LIST.get(LIST.indexOf(de.toUpperCase()) - 1);
                if (de.matches("a" ))     de = LIST.get(25);
            } else {
                if (de.matches("[1-9]" )) de = NUM.get(NUM.indexOf(de) - 1);
                else      de = NUM.get(9);
            }
            System.out.print(de);
        }
    }
}

全部评论

相关推荐

球球别再泡了:坏,我单9要了14
点赞 评论 收藏
分享
勤奋努力的椰子这就开摆:美团骑手在美团工作没毛病
投递美团等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务