基于Java解决华为机试之字符串加解密 

 更新时间:2022年02月23日 08:46:22   作者:97的风  
这篇文章主要介绍了基于Java解决华为机试之字符串加解密,问题描述展开主题即详细代码的分享完成文章内容,具有一的的参考价值,需要的小伙伴可以参考一下。希望对你有所帮助

1.简述

描述:

  • 1、对输入的字符串进行加解密,并输出。
  • 2、加密方法为:

当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;

当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0;

其他字符不做变化。

  • 3、解密方法为加密的逆过程。

本题含有多组样例输入。

数据范围:输入的两个字符串长度满足1 \le n \le 1000 \1≤n≤1000  ,保证输入的字符串都是大小写字母或者数字

输入描述:

输入说明

  • 输入一串要加密的密码
  • 输入一串加过密的密码

输出描述:

输出说明

  • 输出加密后的字符
  • 输出解密后的字符

2.示例1

输入:

abcdefg
BCDEFGH

输出:

BCDEFGH
abcdefg

2.代码实现

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        while(in.hasNext()){
            System.out.println(encode(in.nextLine()));
            System.out.println(decode(in.nextLine()));
        }
    }

    //加密函数
    private static String encode(String code){
        char[] t = code.toCharArray();    //将String对象转换为字符数组
        for(int i=0; i < t.length; i++){
            if(t[i]>='a' && t[i]<'z')
                t[i] = (char)(t[i] - 'a' + 'A' + 1);
            else if(t[i] == 'z')
                t[i] = 'A';
            else if(t[i]>='A' && t[i]<'Z')
                t[i] = (char)(t[i] - 'A' + 'a' + 1);
            else if(t[i] == 'Z')
                t[i] = 'a';
            else if(t[i]>='0' && t[i]<'9')
                t[i] = (char)(t[i]+1);
            else if(t[i] == '9')
                t[i] = '0';
        }
        return String.valueOf(t);
    }

    //解密函数
    private static String decode(String password){
        char[] t = password.toCharArray();
        for(int i=0; i < t.length; i++){
            if(t[i]>'a' && t[i]<='z')
                t[i] = (char)(t[i] - 'a' + 'A' - 1);
            else if(t[i] == 'a')
                t[i] = 'Z';
            else if(t[i]>'A' && t[i]<='Z')
                t[i] = (char)(t[i] - 'A' + 'a' - 1);
            else if(t[i] == 'A')
                t[i] = 'z';
            else if(t[i]>'0' && t[i]<='9')
                t[i] = (char)(t[i]-1);
            else if(t[i] == '0')
                t[i] = '9';
        }
        return String.valueOf(t);
    }
}

到此这篇关于基于Java解决华为机试之字符串加解密 的文章就介绍到这了,更多相关Java字符串加解密 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java实现统计字符串中字符及子字符串个数的方法示例

    java实现统计字符串中字符及子字符串个数的方法示例

    这篇文章主要介绍了java实现统计字符串中字符及子字符串个数的方法,涉及java针对字符串的遍历、判断及运算相关操作技巧,需要的朋友可以参考下
    2017-01-01
  • Java动态调用类中方法代码

    Java动态调用类中方法代码

    这篇文章主要介绍了Java动态调用类中方法代码,需要的朋友可以参考下
    2014-02-02
  • SpringBoot整合logback日志的详细步骤

    SpringBoot整合logback日志的详细步骤

    这篇文章主要介绍了SpringBoot整合logback日志的详细步骤,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • SpringBoot内存数据导出成Excel的实现方法

    SpringBoot内存数据导出成Excel的实现方法

    这篇文章主要给大家介绍了关于SpringBoot内存数据导出成Excel的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 使用Jackson 处理 null 或者 空字符串

    使用Jackson 处理 null 或者 空字符串

    这篇文章主要介绍了使用Jackson 处理 null 或者 空字符串,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Servlet第一个项目的发布(入门)

    Servlet第一个项目的发布(入门)

    这篇文章主要介绍了Servlet第一个项目的发布,下面是用servlet实现的一个简单的web项目,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2021-04-04
  • SpringBoot+Mybatis Plus导致PageHelper失效的解决方法

    SpringBoot+Mybatis Plus导致PageHelper失效的解决方法

    在Springboot项目中使用分页插件的时候,发现PageHelper插件失效了 ,本文主要介绍了SpringBoot+Mybatis Plus导致PageHelper失效的解决方法,感兴趣的可以了解一下
    2024-07-07
  • Java实用小技能之快速创建List常用几种方式

    Java实用小技能之快速创建List常用几种方式

    java集合可以说无论是面试、刷题还是工作中都是非常常用的,下面这篇文章主要给大家介绍了关于Java实用小技能之快速创建List常用的几种方式,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • Java 8中map()和flatMap()方法区别详解

    Java 8中map()和flatMap()方法区别详解

    这篇文章主要为大家介绍了Java 8中map()和flatMap()方法区别详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • jvm-jstack常用的用法示例

    jvm-jstack常用的用法示例

    jstack 是一个常用的用于分析 Java 进程的工具。它可以显示 Java 进程中所有线程状态和堆栈信息,帮助定位 Java 进程中的问题,这篇文章主要介绍了jvm-jstack常用的用法示例,需要的朋友可以参考下
    2023-06-06

最新评论