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

网友投稿 403 2022-08-26


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

目录1.简述2.示例12.代码实现

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

复制输出:

BCDEFGHabcdefg

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.toCharArrayhttp://(); //将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(intZGCbxMQn 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';

elhttp://se 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';

http://}

return String.valueOf(t);

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Numpy中的四个小技巧(numpy常用功能总结)
下一篇:Python自动化(python自动化测试面试题)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~