求java大佬指点一、 编写一个Java应用程序:Ex3_1.java,对下面的明文进行加密处理并输出:
一、编写一个Java应用程序:Ex3_1.java,对下面的明文进行加密处理并输出:“OPERATIONOVERLORD:THENORMANDYLANDINGSWILLT...
一、 编写一个Java应用程序:Ex3_1.java,对下面的明文进行加密处理并输出:“OPERATION OVERLORD: THE NORMANDY LANDINGS WILL TAKE PLACE ON JUNE 6th ,1944,AT 6:30”加密规则如下:1) 大写英文字母转换为该字母后序第五字母,如A转换为F、B转换为G;超出了字母Z,则循环到A开始,如X转换为C2) 数字符转换为该数字符后续第三数字符,如0转换为3,1转换为4;超出了数字符9,则循环到0开始,如8转换为1 3) 其他字符不进行转换以下程序可不可以把public static void main(String args[])放在最前面并且把"^[A-U]$"换成>=的形式具体是怎样的
展开
1个回答
展开全部
你好提问者:
如果解决了你的问题,请采纳,若有疑问,请追问,谢谢!
package com.gc.action.baiduTest;
public class ShowHello {
/**
* 加密:大写+5 数字+3 其他不变
* @param str
*/
public static void mdm(String str){
System.out.println("加密前"+str);
StringBuffer sb =new StringBuffer();
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
if(ch>=65 &&ch<=85){//A:65 U:85
ch = (char) (ch+5);
sb.append(ch);
}else if (ch>85 &&ch <=90) {
ch = (char) (ch-21);
sb.append(ch);
}else if(ch>=48 && ch<=54){
ch =(char) (ch+3);
sb.append(ch);
}else if(ch>54 &&ch<=57){
ch =(char) (ch-7);
sb.append(ch);
}else{
sb.append(ch);
}
}
System.out.println("加密后"+sb);
}
public static void main(String[] args) {
String str ="ABC_ 0123 _XZY_ 789";//OPERATION OVERLORD: THE NORMANDY LANDINGS WILL TAKE PLACE ON JUNE 6th ,1944,AT 6:30
mdm(str);
}
}
结果:
加密前ABC_ 0123 _XZY_ 789
加密后FGH_ 3456 _CED_ 012
----------------------------
加密前OPERATION OVERLORD: THE NORMANDY LANDINGS WILL TAKE PLACE ON JUNE 6th ,1944,AT 6:30
加密后TUJWFYNTS TAJWQTWI: YMJ STWRFSID QFSINSLX BNQQ YFPJ UQFHJ TS OZSJ 9th ,4277,FY 9:63
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询