题解 | #字符串加解密#

字符串加解密

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 line = in.nextLine();
        String line2 = in.nextLine();
        System.out.println(encode(line));
        System.out.println(decode(line2));
    }

    private static String encode(String line) {
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < line.length(); i++) {
            char c = line.charAt(i);
            if (Character.isLetter(c)) {
                if (Character.isUpperCase(c)) {
                    c = c < 'Z' ? (char)(Character.toLowerCase(c) + 1) : 'a';
                } else if (Character.isLowerCase(c)) {
                    c = c < 'z' ? (char)(Character.toUpperCase(c) + 1) : 'A';
                }
            } else if (Character.isDigit(c) ) {
                c = (char)(c<'9'?(c+1):'0');
            }
            sb.append(c);
        }
        return sb.toString();
    }

    private static String decode(String line) {
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < line.length(); i++) {
            char c = line.charAt(i);
            if (Character.isLetter(c)) {
                if (Character.isUpperCase(c)) {
                    c = c > 'A' ? (char)(Character.toLowerCase(c) - 1) : 'z';
                } else if (Character.isLowerCase(c)) {
                    c = c > 'a' ? (char)(Character.toUpperCase(c) - 1) : 'Z';
                }
            } else if (Character.isDigit(c) ) {
                c = (char)(c>'0'?(c-1):'9');
                // c = (char)((c - '0' - 1+10) % 10 + '0');
            }
            sb.append(c);
        }
        return sb.toString();
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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