题解 | #字符串加解密#

字符串加解密

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

String相等用 equals()

import java.util.Scanner;

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

        String regexUpperCase = "[A-Z]";
        String regexLowerCase = "[a-z]";
        String regexNum = "[0-9]";

        //加密
        for (int i = 0; i < str1.length(); i++) {
            String str = str1.substring(i, i + 1);

            //大写变换小写
            if (str.matches(regexUpperCase)) {
                if ("Z".equals(str)) {
                    sb1.append("a");
                } else {
                    char ch = (char)((str.toLowerCase().charAt(0)) + 1);
                    sb1.append(ch + "");
                }
            }
            //小写变化大写
            else if (str.matches(regexLowerCase)) {
                if ("z".equals(str)) {
                    sb1.append("A");
                } else {
                    char ch = (char)(str.charAt(0) + 1);
                    sb1.append((ch + "").toUpperCase());
                }
                //数字
            } else if (str.matches(regexNum)) {
                if ("9".equals(str)) {
                    sb1.append("0");
                } else {
                    char ch = (char)(str.charAt(0) + 1);
                    sb1.append(ch + "");
                }
            } else {
                sb1.append(str);
            }
        }

        //解密
        for (int i = 0; i < str2.length(); i++) {
            String str = str2.substring(i, i + 1);

            //大写变换小写
            if (str.matches(regexUpperCase)) {
                if ("A".equals(str)) {
                    sb2.append("z");
                } else {
                    char ch = (char)((str.toLowerCase().charAt(0)) - 1);
                    sb2.append(ch + "");
                }
            }
            //小写变化大写
            else if (str.matches(regexLowerCase)) {
                if ("a".equals(str)) {
                    sb2.append("Z");
                } else {
                    char ch = (char)(str.charAt(0) - 1);
                    sb2.append((ch + "").toUpperCase());
                }
                //数字
            } else if (str.matches(regexNum)) {
                if ("0".equals(str)) {
                    sb2.append("9");
                } else {
                    char ch = (char)(str.charAt(0) - 1);
                    sb2.append(ch + "");
                }
            } else {
                sb2.append(str);
            }
        }
        System.out.println(sb1);
        System.out.println(sb2);
    }
}

全部评论

相关推荐

昨天 15:35
武汉大学 运营
点赞 评论 收藏
分享
每晚夜里独自颤抖:这个在牛客不是老熟人了吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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