题目描述

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 in = new Scanner(System.in);
while(in.hasNext()){
char[] enc = in.nextLine().toCharArray();
char[] unEnc = in.nextLine().toCharArray();
Encrypt(enc);
System.out.println(charsToStr(enc));
unEncrypt(unEnc);
System.out.println(charsToStr(unEnc));
}
}
private static void unEncrypt(char[] chars){
for(int i=0;i<chars.length ;i++){
if(isDigits(chars[i])){
if(chars[i] == '0'){
chars[i] = '9';
}else{
chars[i] = (char) (chars[i] - 1);
}
}else if(isUpperCase(chars[i])){
if(chars[i] == 'A')
chars[i] = 'z';
else
chars[i] = (char) (chars[i] - 'A' + 'a' -1);
}else if(isLowCase(chars[i])){
if(chars[i] == 'a')
chars[i] = 'Z';
else
chars[i] = (char) (chars[i] - 'a' + 'A' -1 );
} }
} private static void Encrypt(char[] str){
for(int i=0;i<str.length ;i++){
if(isDigits(str[i])){
if(str[i] == '9'){
str[i] = '0';
}else{
str[i] = (char) (str[i] + 1);
}
}else if(isUpperCase(str[i])){
if(str[i] == 'Z')
str[i] = 'a';
else
str[i] = (char) (str[i] - 'A' + 'a' +1);
}else if(isLowCase(str[i])){
if(str[i] == 'z')
str[i] = 'A';
else
str[i] = (char) (str[i] - 'a' + 'A' +1 );
} }
}
private static String charsToStr(char[] chars){
StringBuffer sb = new StringBuffer();
for(char ch:chars){
sb.append(ch);
}
return sb.toString();
} private static boolean isDigits(char ch){
if(ch >= '0' && ch<='9')
return true;
return false;
}
private static boolean isUpperCase(char ch){
if(ch>='A' && ch<='Z')
return true;
return false;
}
private static boolean isLowCase(char ch){
return ch>='a' && ch<='z';
}
private static boolean isWord(char ch){
return isUpperCase(ch) || isLowCase(ch);
}
}

最新文章

  1. Inverted sentences
  2. Linux 指令。
  3. 去它的h5,我还是用js写原生跨平台app吧
  4. Thinkphp单字母快捷键
  5. placeholder 解决UITextField中placeholder和text文本同时显示的问题
  6. Qt Charts示例
  7. Python 线程(threading) 进程(multiprocessing)
  8. node.js实践第二天
  9. OSG选中效果展示
  10. HttpReceiveRequestEntityBody 使用应注意的地方
  11. [ZJOI 2015]幻想乡战略游戏
  12. Java_深度剖析ConcurrentHashMap
  13. vue2.0 导出Excel表格数据
  14. Paramiko和堡垒机实现
  15. JNI学习小结
  16. Jaxb 完全手册
  17. 关于C# winform怎么调用webapi来获取到json数据
  18. 中国Linux开源镜像站大全
  19. .NET 如何隐藏Console Application的窗口
  20. Linux文件描述符

热门文章

  1. [读行者][学习LinqExpression和Reflection(Emit)]阅读TypeBuilderSample之ExampleFromTheArticle
  2. [DHCP服务]——DHCP详解
  3. Oracle中定义package以及存储过程的使用
  4. 【Dancing Link专题】解题报告
  5. Leetcode#92 Reverse Linked List II
  6. apple开发者账号申请
  7. Centos最小化安装后联网配置
  8. 管理员必须掌握的八个cmd命令
  9. Sencha Touch2 时间轴ListPanel
  10. WPF 与Surface 2.0 SDK 亲密接触 - ScatterView 数据绑定篇