我正在尝试更改我的代码,以便打印字母的频率而不是有多少字母。 “我是一个男人我是男人”应该给出与“我是男人”相同的答案,因为每个字母与整个序列的相对比例是相同的。
所以期望的输出是:
字母A:数:0.43
字母I:数:0.14
字母M:数:0.29
字母N:数:0.14
因此计数总是加起来为1.0。
目前,我的代码只计算并显示字母出现的次数,这是否很容易改变?
//
答案 0 :(得分:0)
你可以尝试这样的方法来获得总字符的百分比:
int total = 0;
for(int i = 0; i < lettersArray.length; i ++)
{
total += letterArray[i];
}
for (char characters = 'a'; characters <= 'z'; characters++) {
int index = characters - 'a';
//print out the analysis
System.out.println("'" + characters + "' entered " + (((double)letterArray[index] / (double)total))
+ " times");
}}}
答案 1 :(得分:0)
System.out.println("'" + characters + "' entered " + letterArray[index] /
(double)line.length() + " times");