【发布时间】:2014-09-11 16:47:30
【问题描述】:
我正在实施单字母替换算法。键和值存储在HashMap中,并使用StringBuffer类类型的变量作为输入字符串的参数:
public class Mono {
private StringBuffer source;
private Map<String, String> alphabet;
public Mono(String source) {
this.source = new StringBuffer(source);
alphabet = new HashMap<>();
alphabet.put("a", "f");
alphabet.put( //... etc.
}
public StringBuffer startEncrypt() {
for (int i = 0; i < source.length(); i++) {
for (Map.Entry entry : alphabet.entrySet()) {
if (entry.getKey().toString().equals(source.charAt(i))) {
source.setCharAt(i, entry.getValue().toString());
}
}
}
return source;
}
}
我在这里将字符串转换为字符时遇到问题:source.setCharAt(i, entry.getValue().toString());
那么,我的问题是如何做到这一点?还是有其他更好的替换字符的方法?
谢谢。
【问题讨论】:
标签: java string stringbuffer