解题思路:定义一个boolean数组作为对应的数组的每个字符的标记,它刚开始会被默认赋值false,即每个对应的字符的标记都为false ,然后遍历String中的字符 即将截取string的字符变为char字符 然后进行比较,如果有相同的就将对应的boolean之变为true,下次比较时直接跳过。
public class Practice02 {
public static void main(String[] args) {
// 输入一个字符串,统计每一个字符出现的次数
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
// 定义一个布尔数组,存放标记
boolean[] bs = new boolean[str.length()];
// 遍历布尔数组
for (int i = 0;i < bs.length;i++){
// 判断是否被标记过
if (bs[i])
continue;
// aaa bb ccc
// 获取字符
char c = str.charAt(i);
// 定义一个变量,记录字符出现的次数
int count = 0;
for (int j = i;j < str.length();j++){
if (str.charAt(j) == c){
count++;
bs[j] = true;
}
}
System.out.println(c + "出现了" + count);
}
}
}