方法一:
//判断 各元素出现的次数
public static void CounterLetter(String s){
//转成字符数组
char []cs=s.toCharArray();
//用boolean数组表示每个元素的计数状态
boolean[] b=new boolean[cs.length];
//初始化true 表示未计数,false表示已经计数
for (int i = 0; i < b.length; i++) {
b[i]=true;
}
//遍历字符数组
for (int i = 0; i < cs.length; i++) {
//判断是否计数
if(b[i]){
//没有计数
int count=1;
//转字符
char c=s.charAt(i);
//
for(int j=i+1;j<cs.length;j++){
//判断后面的元素是否相等
if(c==cs[j]){
count ++;
b[j]=false;
}
}
//输出
System.out.println(c+":"+count);
}
}
}
}
方法二:
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Scanner;
public class PracticeDemo {
public static void main(String[] args) {
// 1.让用户输入字符串
String s = new Scanner(System.in).nextLine();
// 2.创建一个map
Map<Character,Integer> map = new HashMap<>(15,0.1f);
// 3.遍历字符串
for (int i = 0;i < s.length();i++){
// 4.获取字符
char c = s.charAt(i);
// 5.判断map中是否有对应的key是c
if (map.containsKey(c)){
// 获取value
Integer value = map.get(c);
value++;
map.put(c, value);
}else{
map.put(c, 1);
}
}
for (Entry<Character,Integer> en : map.entrySet()){
System.out.println(en.getKey() + "\t" + en.getValue());
}
}
}