Map<Character, Character> map = new HashMap<>();
map.put('A', 'G');
map.put('B', 'H');
map.put('C', 'X');
map.put('D', 'Y');
map.put('G', 'A');
String test = "ACDGBBDDGG";
StringBuilder sb = new StringBuilder();
for (char c : test.toCharArray()) {
char o = map.containsKey(c) ? map.get(c) : c;
sb.append(o);
}
System.out.println(sb.toString());
另一种可能性(尽管在运行时方面更为复杂)是在 String 喜欢
String in = "ABCDG";
String out = "GHXYA";
String test = "ACDGBBDDGG";
StringBuilder sb = new StringBuilder();
for (char c : test.toCharArray()) {
int i = in.indexOf(c);
char o = (i > -1) ? out.charAt(i) : c;
sb.append(o);
}
System.out.println(sb.toString());
3条答案
按热度按时间ekqde3dh1#
一种可能的方法是添加
char
它取代了Map
然后在两者之间“Map”就像另一种可能性(尽管在运行时方面更为复杂)是在
String
喜欢两个输出(请求的)
9q78igpj2#
如果您使用的是java 8:
您也可以收集结果并将其转换为字符串。
dba5bblo3#
尝试outputtext=test.replaceall(“a”,“g”).replaceall(“b”,“h”).replaceall(“c”,“x”)等。