不区分大小写,大写字母一律先变换成小写字母再计算
例
输入
This is a pen.
输出
a : 1
b : 0
c : 0
d : 0
e : 1
f : 0
g : 0
h : 1
i : 2
j : 0
k : 0
l : 0
m : 0
n : 1
o : 0
p : 1
q : 0
r : 0
s : 2
t : 1
u : 0
v : 0
w : 0
x : 0
y : 0
z : 0
使用一下代码雏形
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
int[] chars = new int[256];
while(sc.hasNextLine()) {
String line = sc.nextLine();
for (int i= 0; i< line.length(); i++) {
char ch= Character.toLowerCase(line.charAt(i));
// … 随着ch的出现更新结构体…
}
}
for(charch= 'a'; ch<= 'z'; ch++) {
System.out.println(ch+ " : " + chars[ch]);
}
}
}
应该只需要写注释部分的代码
编程弱鸡,求大神指导
到底是单词的次数,还是字母的次数。
单词的次数,用你这个“雏形”不行的,因为字母只有a-z,单词有很多,不能预先知道分类,你需要用hashmap。
具体代码
http://blog.csdn.net/sz_bdqn/article/details/23218983
是不是写错了,该统计字母出现的次数
你这是统计字母的个数吧
统计字母次数的话可以用数组,长度为26,下标0代表a,以此类推,每次取出单个字母,每出现一次就在对应的数组位置的数字+1放回,如果是单词统计就
使用hashmap,单词作为key,次数作为value,每次拿到单词遍历hashmap,若有,相关值加1,否则新加一组key-value