public class StringDemo4 {
public static void main(String[] args) {
//返回每个字符出现的次数--标志位
String s = "fe87wer338787w/37r8s4fe";
//给定布尔数组--存储字符串中每个字符的状态(true表示的状态为未统计)
boolean[] arr = new boolean[s.length()];
for (int x = 0; x < s.length(); x++) {
arr[x] = true;
}
//遍历字符串
for (int x = 0; x < s.length(); x++) {
//判断当前字符的状态是否为未统计
if (arr[x]) {
//需要获取当前字符
//进行判断未统计
char c=s.charAt(x);
//计数变量
int count=1;//字符最少出现的是一次
//遍历字符串后续内容 遍历了一个字符
for(int j=x+1;j<s.length();j++){
if(c==s.charAt(j)){
count++;
//改状态
arr[j]=false;
}
}
//输出每个字符出现的个数
System.out.println(c + "出现的次数为:" + count);
}}}}
2.
public class demo4 {
public static void main(String[] args) {
//返回每个字符串的个数
String s = "erfq3rthewq";
//定义变量存储长度值
int len = 0;
while (s.length() != 0) {
len = s.length();
char c = s.charAt(0);
s = s.replaceAll(c + "", "");
System.out.println(c+":"+(len-s.length()));
}
}
}
3.映射
import java.util.HashMap;
import java.util.Map;
public class t1 {
//给定字符串返回每个字符出现的次数(用映射)
public static void main(String[] args) {
String s="rkjhoiweujqwegtr";
Map<Character,Integer> map=new HashMap<>();
for(int i=0;i<s.length();i++) {
//获取每个字符
char c = s.charAt(i);
//判断获取的字符是否在映射中出现
if (map.containsKey(c)) {
//如果出现值加一,重新存放到映射中
map.put(c,map.get(c)+1);
}else{
//字符第一次出现
map.put(c,1);
}
}
for(Map.Entry<Character,Integer> i:map.entrySet()){
System.out.println(i);
}
}
}