import java.util.HashMap;
import java.util.Map;
public class EncryptDemo {
/** 01234567890122109876543210*/
private static String DEFAULT = "abcdefghijklmnopqrstuvwxyz";
private static String regex = "[a-zA-Z]";
private static Map<Character,Character> upperMap = new HashMap<Character,Character>();
private static Map<Character,Character> lowerMap = new HashMap<Character,Character>();
static {
int length = DEFAULT.length();
for(int i=0;i<length;i++) {
char key = DEFAULT.charAt(i);
char value = DEFAULT.charAt(length-1-i);
lowerMap.put(key, value);
}
String DEFAULT1 = DEFAULT.toUpperCase();
for(int i=0;i<length;i++) {
char key = DEFAULT1.charAt(i);
char value = DEFAULT1.charAt(length-1-i);
upperMap.put(key, value);
}
}
public static String encryptString(String string) throws Exception {
StringBuilder sb = new StringBuilder();
for(char ch : string.toCharArray()) {
if(check(ch)) {
sb.append((upperMap.containsKey(ch)?upperMap.get(ch):lowerMap.get(ch)));
}else{
throw new Exception("含有非法字符");
}
}
return sb.toString();
}
public static boolean check(char ch) {
String str = new Character(ch).toString();
if(str.matches(regex)){
return true;
}else {
return false;
}
}
private EncryptDemo(){}
public static void main(String[] args) throws Exception {
System.out.println(EncryptDemo.encryptString("HelloWorld"));
}
}
你看看合不合要求,仅供参考