题解 | #字符串加解密#

字符串加解密

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

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNextLine()) {
            String firstLine = scanner.nextLine();
            String secondLine = scanner.nextLine();
            StringBuilder sb1 = new StringBuilder();
            StringBuilder sb2 = new StringBuilder();
            /**
             * 加密
             */
            for(int i = 0; i < firstLine.length(); i ++)
            {
                char oldCh = firstLine.charAt(i);
                char newCh = oldCh;
                if( oldCh >= 'a' &&
                oldCh <= 'z')
                {
                     newCh = (char) (oldCh - 'a' + 'B');
                    if(newCh > 'Z')
                    {
                        newCh = 'A';
                    }
                }else if( oldCh >= 'A' &&
                        oldCh <= 'Z')
                {
                     newCh = (char) (oldCh - 'A' + 'b');
                    if(newCh > 'z')
                    {
                        newCh = 'a';
                    }
                }else if(oldCh >= '0' &&
                oldCh <= '9')
                {
                 newCh = (char) (oldCh + 1);
                 if(newCh > '9')
                 {
                     newCh = '0';
                 }
                }
                sb1.append(newCh);
            }

            /**
             * 解密
             */
            for(int i = 0; i < secondLine.length(); i ++)
            {
                char oldCh = secondLine.charAt(i);
                char newCh = oldCh;
                if( oldCh >= 'a' &&
                        oldCh <= 'z')
                {
                    /**
                     * b是A加密之后的
                     * a是Z加密之后的
                     */
                    newCh = (char) (oldCh - 'b' + 'A');
                    if(newCh < 'A')
                    {
                        newCh = 'Z';
                    }
                }else if( oldCh >= 'A' &&
                        oldCh <= 'Z')
                {
                    /**
                     * B是a加密之后的
                     * A时z加密之后的
                     */
                    newCh = (char) (oldCh - 'B' + 'a');
                    if(newCh < 'a')
                    {
                        newCh = 'z';
                    }
                }else if(oldCh >= '0' &&
                oldCh <= '9'){
                    newCh = (char) (oldCh - 1);
                    if(newCh < '0')
                    {
                        newCh = '9';
                    }
                }
                sb2.append(newCh);
            }
            System.out.println(sb1.toString());
            System.out.println(sb2.toString());

        }
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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