题解 | #字符串加解密#

字符串加解密

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

import java.util.*;

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


    }

    public static String encode(String str) {
        StringBuilder sb = new StringBuilder();
        for (char c : str.toCharArray()) {
            if (String.valueOf(c).matches("[A-Z]")) {
                if (Objects.equals(c, 'Z')) {
                    sb.append('a');
                } else {
                    sb.append((char) ((c + "").toLowerCase().charAt(0) +1));
                }
            } else if (String.valueOf(c).matches("[a-z]")) {
                if (Objects.equals(c, 'z')) {
                    sb.append('A');
                } else {
                    sb.append((char) ((c + "").toUpperCase().charAt(0) + 1));
                }
            } else if (String.valueOf(c).matches("[0-9]")) {
                if (Objects.equals(c, '9')) {
                    sb.append('0');
                } else {
                    sb.append((char)(c+1));
                }
            }
        }


        return sb.toString();
    }
    public static String decode(String str) {
        StringBuilder sb = new StringBuilder();
        for (char c : str.toCharArray()) {
            if (String.valueOf(c).matches("[a-z]")) {
                if (Objects.equals(c, 'a')) {
                    sb.append('Z');
                } else {
                    sb.append((char) ((c + "").toUpperCase().charAt(0) -1));
                }
            } else if (String.valueOf(c).matches("[A-Z]")) {
                if (Objects.equals(c, 'A')) {
                    sb.append('z');
                } else {
                    sb.append((char) ((c + "").toLowerCase().charAt(0) - 1));
                }
            } else if (String.valueOf(c).matches("[0-9]")) {
                if (Objects.equals(c, '0')) {
                    sb.append('9');
                } else {
                    sb.append((char)(c-1));
                }
            }
        }
        return sb.toString();
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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