题解 | #字符串加解密#

字符串加解密

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

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) {
        BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
        String aEn, bDe;
        char[] ch1 = new char[] {'z', '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', 'a'};
        char[] ch2 = new char[] {'9', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'};
        try {
            aEn = r.readLine();
            bDe = r.readLine();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
        char[] chsEn = aEn.toCharArray();
        char[] chsDe = bDe.toCharArray();
        char[] ansEn = new char[chsEn.length];
        char[] ansDe = new char[chsDe.length];
        int i = 0, t = 0;
        while (i < chsEn.length) {
            if ((chsEn[i] - 'a' | 'z' - chsEn[i]) > 0) {
                t = chsEn[i] - 'a' + 1;
                ansEn[i] = (char) (ch1[t + 1] - 32);
            }
            if ((chsEn[i] - 'A' | 'Z' - chsEn[i]) > 0) {
                t = chsEn[i] - 'A' + 1;
                ansEn[i] = ch1[t + 1];
            }
            if ((chsEn[i] - '0' | '9' - chsEn[i]) > 0) {
                t = chsEn[i] - '0' + 1;
                ansEn[i] = ch2[t + 1];
            }
            i++;
        }
        String ans = new String(ansEn);
        i = 0;
        do {
            if ((chsDe[i] - 'a' | 'z' - chsDe[i]) > 0) {
                t = chsDe[i] - 'a' + 1;
                ansDe[i] = (char) (ch1[t - 1] - 32);
            }
            if ((chsDe[i] - 'A' | 'Z' - chsDe[i]) > 0) {
                t = chsDe[i] - 'A' + 1;
                ansDe[i] = ch1[t - 1];
            }
            if ((chsDe[i] - '0' | '9' - chsDe[i]) > 0) {
                t = chsDe[i] - '0' + 1;
                ansDe[i] = ch2[t - 1];
            }
            i++;
        } while (i < chsDe.length);
        ans = ans + "\n" + new String(ansDe);
        System.out.print(ans);
    }
}

全部评论

相关推荐

牛客501015981号:前面志愿结束了,在大池子里面被其他部门捞了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务