案例:统计字符串中每个字符出现的次数
-
需求:键盘录入一个字符串,要求统计字符串中每个字符串出现的次数与
-
思路:键盘录入"ababababab" 在控制台输出:a(次数)b(次数)…
一定记住一个键最多只能对应一个值
以代码的内容为讲解
package Demo;
import java.util.*;
public class Demo {
public static void main(String[] args) {
//
boolean flag = true;
//建立Scanner类
Scanner s = new Scanner(System.in);
//建立HashMap集合
HashMap<Character, Integer> map = new HashMap<>();
//接收,一定记住一个键最多只能对应一个值
while (flag) {
System.out.println("请你输入想输入的字符串:");
if (s.hasNextLine()) {
String s1 = s.nextLine();
for (int i = 0; i < s1.length(); i++) {
char c = s1.charAt(i);
Integer integer = map.get(c);
if (integer == null) {
map.put(c, 1);
} else {
integer++;
map.put(c, integer);
}
}
//遍历
StringBuilder sss = new StringBuilder();
Set<Character> characters = map.keySet();
for (Character c : characters) {//注意这个是键的长度
Integer integer = map.get(c);//获取值,注意值在赋予的时候做过++运算了
sss.append(c).append("(").append(integer).append(")");
}
String s2 = sss.toString();
System.out.println(s2);
flag = false;
} else {
System.out.println("你输入的有有误请您重输");
flag = true;
}
}
}
}
输出的内容
请你输入想输入的字符串:
ababababab
a(5)b(5)