如何计算每封信的总数?我想我可以使用StringUtils.countMatches
,但我不确定如何使用它。
另外,我是否需要在字符之间放置空格以便我的程序可以计算它们?如果是这样,这就是我所拥有的,它将无法运作:
添加空格的代码:
char ch;
ch = next().CharAt(0);
switch (ch) {
case 'A': System.out.print ("A ");
break;
case 'B': System.out.print ("B ");
break;
case 'C': System.out.print ( "C ");
break;
}
非常感谢你!
答案 0 :(得分:0)
最好的通用方法(我将让您确定准确的代码)是维护一个存储每个字符计数的数组。 Java中的char
是一个16位无符号整数,这意味着您可以声明
int[] counts = new int[65536];
然后当你想注册一个字符c
时,你可以
counts[(int) c]++;
为了获取单个字符,您可以逐行读取文件,然后浏览代表每一行的String
并处理它:
for (int i=0; i<line.length(); i++) {
counts[(int) line.getCharAt(i)]++;
}
然后最后你可以读出你的数组,以确定每个角色出现的次数。
从技术上讲,您不需要为(int)
类型转换而烦恼,您只需编写
count[line.getCharAt(i)]++;
但如果您明确转换,可能会更清楚。