题解HJ29 | #字符串加解密#

字符串加解密

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

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        String encryptStr = in.nextLine();
        String decryptStr = in.nextLine();

        StringBuilder result1 = new StringBuilder();
        StringBuilder result2 = new StringBuilder();

        for (int i = 0; i < encryptStr.length(); i++) {
            if (Character.isLetter(encryptStr.charAt(i))) {
                result1.append(encryptChar(encryptStr.charAt(i)));
            } else {
                result1.append(encryptNum(encryptStr.charAt(i)));
            }
        }

        System.out.println(result1);

        for (int i = 0; i < decryptStr.length(); i++) {
            if (Character.isLetter(decryptStr.charAt(i))) {
                result2.append(decryptChar(decryptStr.charAt(i)));
            } else {
                result2.append(decryptNum(decryptStr.charAt(i)));
            }
        }

        System.out.println(result2);
    }

    //加密字母
    public static char encryptChar(Character c) {
        //判断为大写
        if (Character.isUpperCase(c)) {
            if (c == 'Z') {
                return 'a';
            } else {
                return (char) (Character.toLowerCase(c) + 1);
            }
        } else {
            if (c == 'z') {
                return 'A';
            } else {
                return (char) (Character.toUpperCase(c) + 1);
            }
        }
    }

    //解密字母
    public static char decryptChar(Character c) {
        //判断为大写
        if (Character.isUpperCase(c)) {
            if (c == 'A') {
                return 'z';
            } else {
                return (char) (Character.toLowerCase(c) - 1);
            }
        } else {
            if (c == 'a') {
                return 'Z';
            } else {
                return (char) (Character.toUpperCase(c) - 1);
            }
        }
    }

    //加密数字
    public static char encryptNum(Character c) {
        if ('9' == c) {
            return '0';
        } else {
            return (char) (c + 1);
        }
    }

    //解密数字
    public static char decryptNum(Character c) {
        if ('0' == c) {
            return '9';
        } else {
            return (char) (c - 1);
        }
    }
}

有点麻烦但是不难

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务