import java.util.Scanner;
/*
输入一行字符,分别统计其中英文字母,空格,数字,和其他字的个数。
*/
public class C1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一串字符:");
String str = sc.nextLine();
//规定一个计数器,以表示字符在输入字符串中的重复次数
int count = 1;
//被比较的字符
char comparedKey;
//下一个字符
char nextKey;
//上一个字符
char preKey;
F1:
for (int i = 0; i < str.length(); ++i) {
//遍历取出输入字符串中的单个字符
comparedKey = str.charAt(i);
for (int j = i + 1; j < str.length(); ++j) {
//遍历取出输入字符串的下一个字符
nextKey = str.charAt(j);
//字符相等时,计数器加1
if (nextKey == comparedKey) ++count;
}
for (int j = i - 1; j > 0; --j) {
//遍历取出输入字符串的上一个字符
preKey = str.charAt(j);
//当前字符与之前的字符存在相等字符时,跳过当前循环
if (preKey == comparedKey) {
count = 1;
continue F1;
}
}
System.out.println(comparedKey + "字符出现的次数:" + count);
//重置计数器
count = 1;
}
sc.close();
}
}
//输出结果:
//结果会莫名其妙多出一次相同字符输出
请输入一串字符:
dsadasc das
d字符出现的次数:3
s字符出现的次数:3
a字符出现的次数:3
d字符出现的次数:2
c字符出现的次数:1
字符出现的次数:1