class Test {
public static void main(String[] args) {
Test solution = new Test();
solution.test();
}
void test() {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter a sentence terminated by a full stop:\n>> ");
String str = scanner.nextLine();
int[] count = new int[27];
for (char c : str.toCharArray()) {
if (c == ' ') {
count[26] ++;
} else if (c >= 'a' && c <= 'z') {
count[c - 'a']++;
} else if (c >= 'A' && c <= 'Z') {
count[c - 'A']++;
}
}
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("Frequency analysis for this sentence:\n");
for (int i = 0; i < 27; i++) {
stringBuilder.append(format(i, count[i])).append('\t');
if ((i + 1) % 5 == 0) {
stringBuilder.append('\n');
}
}
System.out.println(stringBuilder);
}
String format(int i, int count) {
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(i < 26 ? ((char) ('A' + i)) : "space");
int len = 0, tmp = count;
while ((tmp /= 10) > 0) {
len++;
}
while (len++ < 4) {
stringBuilder.append(' ');
}
stringBuilder.append(count).append(';');
return stringBuilder.toString();
}
}
运行结果:
用replace()
String str = 原字符串
比如要检查"A",str = str.replace("A", "");
然后用原字符串的长度减去已replace后的字符串长度就OK啦
解决了就整个采纳哈,谢啦