写一个简单的算法对内容进行加密和解密.求一简单,完整的解题答案,特别是decode()方法的实现。
来源:百度知道 编辑:UC知道 时间:2024/06/03 09:27:02
1.如果当前字符是数字且不大于0,复制当前字符;
2.如果当前字符是数字且大于0,如果当前字符有后继字符,则设置整数N等于当前字符数值,把后继字符复制N+1次;
3.如果当前字符既不是数字也不是"_",则复制当前字符;
4.如果当前字符是"_",则替换为"\UL";
5.上面每次操作完毕,在后面追加一个"_";
例:有字符串"23_2b/5",则转换后为:"333______\UL_bbb_b_/_5"
再写decode()方法,把转换后的字符串再转换回去
验证字符串:
字符串 转换后字符串
\_b2_U2ab__ \_\UL_b____\UL_\U_aaa_a_b_\UL_\UL
要求结构清晰,可读性强。
没有加注释。好好看看吧。
能实现功能!
public class Test {
public static void main(String[] args) {
String encodeItem = "\\_b2_U2ab__";
String decodeItem = encode(encodeItem);
System.out.println(encodeItem);
System.out.println(decodeItem);
System.out.println(decode(decodeItem));
}
public static String encode(String encodeItem) {
if (encodeItem == null || encodeItem.length() == 0) {
return null;
}
StringBuilder result = new StringBuilder();
for (int i = 0; i < encodeItem.length(); i++) {
char code = encodeItem.charAt(i);
if (Character.isDigit(code)) {
int codeValue = Character.digit(code, 10);
if (codeValue <= 0) {
result.append(code);