您的位置:首页 > 编程语言 > Java开发

华为OJ——字符串加解密

2016-08-12 12:11 357 查看


题目描述

1、对输入的字符串进行加解密,并输出。

2加密方法为:

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

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

其他字符不做变化。

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

接口描述:

实现接口,每个接口实现1个基本操作:

void Encrypt (char aucPassword[], char aucResult[]):在该函数中实现字符串加密并输出

说明:

1、字符串以\0结尾。

2、字符串最长100个字符。

int unEncrypt (char result[], char password[]):在该函数中实现字符串解密并输出

说明:

1、字符串以\0结尾。

2、字符串最长100个字符。

输入描述:
输入说明
输入一串要加密的密码
输入一串加过密的密码

输出描述:
输出说明
输出加密后的字符
输出解密后的字符

输入例子:
abcdefg
BCDEFGH

输出例子:
BCDEFGH
abcdefg


import java.util.*;
public class Main{

public static void main(String[] args) {

Scanner scan=new Scanner(System.in);
while(scan.hasNext())
{
String str1=scan.nextLine();
String str2=scan.nextLine();
//加密
for(char ch:str1.toCharArray())
{
if(ch>='a' && ch<'z')
{
System.out.print(((char)(ch-31)));
}
else if(ch=='z')
{
System.out.print('A');
}
else if(ch>='A' && ch<'Z')
{
System.out.print(((char)(ch+33)));
}
else if(ch=='Z')
{
System.out.print('a');
}
else if(ch>=48 && ch<57)
{
System.out.print((char)(ch+1));
}
else if(ch=='9')
{
System.out.print('0');
}
}
System.out.println();
//解密
for(char ch:str2.toCharArray())
{
if(ch>'a' && ch<='z')
{
System.out.print(((char)(ch-33)));
}
else if(ch=='a')
{
System.out.print('Z');
}
else if(ch>'A' && ch<='Z')
{
System.out.print(((char)(ch+31)));
}
else if(ch=='A')
{
System.out.print('z');
}
else if(ch>48 && ch<=57)
{
System.out.print((char)(ch-1));
}
else if(ch=='0')
{
System.out.print('9');
}
}
System.out.println();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息