如何将单个字符串上的多个字符替换为所需的字符(java)?

时间:2013-06-18 08:32:38

标签: java android string multithreading encryption

我采用了自己的加密方式。现在我需要加密到Android应用程序。有人可以告诉我,如果你有一条消息(字符串)如何将它的字符替换为所需的字符。

对于我的加密方法中的示例 ,A = Z B = X C = Y(例如jst)。那么当有人在文本框中输入文本“CAB”时,输出应为“(Y,Z,X)”,并且应用程序必须添加逗号和括号。

如果有人对此有任何想法,请帮助。 Thnq很多。 (UI尚未设计,可随意使用UI元素)

1 个答案:

答案 0 :(得分:0)

public class TranslateChar {

    /** @param args */
    public static void main(final String[] args) {
        final Map<Character, Character> mapCharCod = new HashMap<>(36);
        final Map<Character, Character> mapCharDecod = new HashMap<>(36);
        mapCharCod.put('A', 'Z');
        mapCharCod.put('B', 'X');
        mapCharCod.put('C', 'Y');
        mapCharDecod.put('Z', 'A');
        mapCharDecod.put('X', 'B');
        mapCharDecod.put('Y', 'C');

        final String toCod = "CAB";
        StringBuilder sb = new StringBuilder("{");
        for (final char c : toCod.toCharArray()) {
            sb.append(mapCharCod.get(c));
            sb.append(',');
        }
        sb.setCharAt(sb.length() - 1, '}');
        System.out.println(sb.toString());

        final String deCod = "{Y,Z,X}";
        sb = new StringBuilder();
        for (final char c : deCod.toCharArray()) {
            if (c == '{' || c == ',' || c == '}') {
                continue;
            }
            sb.append(mapCharDecod.get(c));
        }
        System.out.println(sb.toString());
    }
}

输出:

{Y,Z,X}
CAB