题解 | #字符串加解密#

字符串加解密

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

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Scanner;

// 直接使用数组进行映射,简单无脑
public class Main{
    public static void main(String []args) throws Exception{
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        String str = br.readLine();
        System.out.println(encryption(str));
        str = br.readLine();
        System.out.println(decryption(str));
        
    }
    
    public static String encryption(String str){
        char[] lowercase = {'B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A'};
        char[] uppercase = {'b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','a'};
        int[] num = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
        StringBuffer sb = new StringBuffer(str.length());
        for(char c : str.toCharArray()){
            if(Character.isLetter(c)){
                if(c >= 65 && c <=90){
                    sb.append(uppercase[c - 'A']);
                } else if(c >= 97 && c <= 122){
                    sb.append(lowercase[c - 'a']);
                }
            } else if(Character.isDigit(c)){
                sb.append(num[c - '0']);
            }
        }
        return sb.toString();
    }
    
    public static String decryption(String str){
        char[] lowercase = {'Z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y'};
        char[] uppercase = {'z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y'};
        int[] num = {9, 0, 1, 2, 3, 4, 5, 6, 7, 8};
        StringBuffer sb = new StringBuffer(str.length());
        for(char c : str.toCharArray()){
            if(Character.isLetter(c)){
                if(c >= 65 && c <=90){
                    sb.append(uppercase[c - 'A']);
                } else if(c >= 97 && c <= 122){
                    sb.append(lowercase[c - 'a']);
                }
            } else if(Character.isDigit(c)){
                sb.append(num[c - '0']);
            }
        }
        return sb.toString();
    }
}

全部评论

相关推荐

码农索隆:小同学,看看我查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务