假设我有两个字符串:
"centre"
和
"formatted"
我的要求是在Java中,程序将比较两个数字,这里像e(1次),t(1次)匹配。所以代码将返回匹配的百分比。 我怎么能这样做?
答案 0 :(得分:0)
创建HashMap,将第一个单词的所有字符放入此映射,使其为零值。之后迭代第二个单词中的字符,如果此字符包含在地图中,则增加此字符的映射值。
Map<Character, Integer> map = new HashMap<>();
for(char c: word1.toCharArray()) {
map.put(c, 0);
}
for(char c: word2.toCharArray()) {
Integer count = map.get(c);
if(count != null) {
count++;
map.put(c, count);
}
}
for(Map.Entry<Character, Integer> entry: map.entrySet()) {
System.out.println(entry.getKey() + " " + entry.getValue() + " times");
}