华为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(); } } }
相关文章推荐