题解 | #字符串加解密#

字符串加解密

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

import java.io.*;
import java.util.*;
public class Main{
    public static void main(String[]args){
        Scanner sc=new Scanner(System.in);
        String toEncode=sc.nextLine();
        String toDecode=sc.nextLine();
        
        String encoded = encode(toEncode);
        System.out.println(encoded);
        
        String decoded = decode(toDecode);
        System.out.println(decoded);
    }
    
    private static String encode(String toEncode){
        char[] encoded = new char[toEncode.length()];
        for(int i=0;i<toEncode.length();i++){
            char c=toEncode.charAt(i);
            if(c>='a'&&c<='z'){
                encoded[i]=(char)((c-'a'+1)%26+'A');
            }else if(c>='A'&&c<='Z'){
                encoded[i]=(char)((c-'A'+1)%26+'a');
            }else if(c>='0'&&c<='9'){
                encoded[i]=(char)((c-'0'+1)%10+'0');
            }
        }
        return new String(encoded);
    }
    
    private static String decode(String toDecode){
        char[] decoded = new char[toDecode.length()];
        for(int i=0;i<toDecode.length();i++){
            char c=toDecode.charAt(i);
            // 注意边界
            if(c=='a'){
                decoded[i]='Z';
            }else if(c=='A'){
                decoded[i]='z';
            }else if(c=='0'){
                decoded[i]='9';
            }else if(c>'a'&&c<='z'){
                decoded[i]=(char)((c-'a'-1)%26+'A');
            }else if(c>'A'&&c<='Z'){
                decoded[i]=(char)((c-'A'-1)%26+'a');
            }else if(c>'0'&&c<='9'){
                decoded[i]=(char)((c-'0'-1)%10+'0');
            }
        }
        return new String(decoded);
    }
}


全部评论

相关推荐

尊尼获获:闺蜜在哪?
点赞 评论 收藏
分享
沉淀一会:1.同学你面试评价不错,概率很大,请耐心等待; 2.你的排名比较靠前,不要担心,耐心等待; 3.问题不大,正在审批,不要着急签其他公司,等等我们! 4.预计9月中下旬,安心过节; 5.下周会有结果,请耐心等待下; 6.可能国庆节前后,一有结果我马上通知你; 7.预计10月中旬,再坚持一下; 8.正在走流程,就这两天了; 9.同学,结果我也不知道,你如果查到了也告诉我一声; 10.同学你出线不明朗,建议签其他公司保底! 11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
昨天 13:29
已编辑
湖南铁道职业技术学院 后端
小红书 后端选手 n*16*1.18+签字费期权
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务