【发布时间】:2018-03-21 20:58:08
【问题描述】:
您好,我正在尝试编写程序,该程序使用 HashMap 计算给定字符串中的所有字符,然后在控制台上打印结果,例如:
{a=2, s=2, k=1, m=1, o=1}
到目前为止,我有这样的事情:
public void result(String sentence) {
int value;
HashMap<Character, Integer> mp = new HashMap<Character, Integer>();
for (int i = 0; i < sentence.length(); i++) {
if (mp.containsKey(sentence.charAt(i))) {
value = mp.get(sentence.charAt(i));
value++;
mp.put(sentence.charAt(i), value);
} else {
mp.put(sentence.charAt(i), 1);
}
}
System.out.print(mp);
}
我想问我如何忽略给定字符串中的空格、大写字母和标点符号。 所以它不会显示在结果中?
希望有人能帮助我,谢谢!
【问题讨论】:
-
您不能在地图内执行此操作。在与地图交互之前,您必须自己对每个角色执行此操作。
-
if (Character.isLowerCase(sentence.charAt(i))) { /* add it to the map */ } -
@shmosel 仅在他实际上想要忽略大写字符而不是不区分大小写时才有效。
标签: java string collections hashmap