题解 | #字符串加解密#

字符串加解密

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

模拟

import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        PrintWriter pw = new PrintWriter(System.out);

        String str1 = br.readLine(), str2 = br.readLine();
        pw.println(encrypt(str1));
        pw.println(decrypt(str2));

        pw.flush();
        pw.close();
        br.close();
    }

    private static String encrypt(String str) {
        StringBuilder builder = new StringBuilder();
        for (char c : str.toCharArray()) {
            if (Character.isUpperCase(c)) {
                c = (char) ((c - 'A' + 1) % 26 + 'a');
            } else if (Character.isLowerCase(c)) {
                c = (char) ((c - 'a' + 1) % 26 + 'A');
            } else if (Character.isDigit(c)) {
                c = (char) ((c - '0' + 1) % 10 + '0');
            }
            builder.append(c);
        }
        return builder.toString();
    }

    private static String decrypt(String str) {
        StringBuilder builder = new StringBuilder();
        for (char c : str.toCharArray()) {
            if (Character.isUpperCase(c)) {
                c = (char) ((c - 'A' - 1 + 26) % 26 + 'a');
            } else if (Character.isLowerCase(c)) {
                c = (char) ((c - 'a' - 1 + 26) % 26 + 'A');
            } else if (Character.isDigit(c)) {
                c = (char) ((c - '0' - 1 + 10) % 10 + '0');
            }
            builder.append(c);
        }
        return builder.toString();
    }
}
全部评论

相关推荐

要AC不要WA:投一天,喜提两笔试
点赞 评论 收藏
分享
03-03 23:12
已编辑
北京邮电大学 Java
书海为家:我来给一点点小建议,因为毕竟还在学校不像工作几年的老鸟有丰富的项目经验,面试官在面试在校生的时候更关注咱们同学的做事逻辑和思路,所以最好在简历中描述下自己做过项目的完整过程,比如需求怎么来的,你对需求的解读,你想到的解决办法,遇到困难如何找人求助,最终项目做成了什么程度,你从中收获了哪些技能,你有什么感悟。
你的简历改到第几版了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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