题解 | #字符串加解密#

字符串加解密

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);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNext()) { // 注意 while 处理多个 case
            String a = in.nextLine();
            String b = in.nextLine();
            System.out.println(resolvePWd(a, true));
            System.out.println(resolvePWd(b, false));
        }
    }



    public static String resolvePWd(String pwd, boolean code) {
        StringBuilder res = new StringBuilder();

        int digStep = code ? 1 : -1;


        char[] pwdChars = pwd.toCharArray();
        for (int i = 0; i < pwdChars.length; i++) {
            char cur = pwdChars[i];
            if ('A' <= cur && cur <= 'Z') {
                int dig = cur + 32 + digStep;
                char ch = (char) (dig);
                if (dig < 97) {
                    ch = 'z';
                }
                if (dig > 122) {
                    ch = 'a';
                }
                res.append(ch);
            } else if ('a' <= cur && cur <= 'z') {
                int dig = cur - 32 + digStep;
                char ch = (char) dig;
                if (dig < 65) {
                    ch = 'Z';
                }
                if (dig > 90) {
                    ch = 'A';
                }
                res.append(ch);
            } else if ('0' <= cur && cur <= '9') {
                int dig = cur - 48 + digStep;
                if(dig >= 10){
                    dig = dig -10;
                }else if( dig < 0){
                    dig  = dig +10;
                }else{
                    dig = dig % 10;
                }
                res.append(dig);
            } else {
                res.append(cur);
            }
        }

        return res.toString();
    }
}

全部评论

相关推荐

07-09 18:33
门头沟学院 Java
这么逆天每年都有人去???&nbsp;填多益网申就是大型的服从性测试
鲁大牛:辅导员在群里发了这个公司我就申了一下。网申居然要写当场开摄像头写两篇不少于三百字的作文。太逆天了
点赞 评论 收藏
分享
06-08 22:25
门头沟学院 Java
从零开始的转码生活:这hr不会打开手机不分青红皂白给所有人群发这句话,过一会再给所有人再发一遍,这肯定会有重复的,不管,再过一会再发一遍
点赞 评论 收藏
分享
这算盘打的
程序员小白条:都这样的,都是潜规则,你自己说可以实习一年就行了,实习可以随便跑路的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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