gpt4 book ai didi

java - 无法让我的直方图正确计数

转载 作者:太空宇宙 更新时间:2023-11-04 07:05:17 25 4
gpt4 key购买 nike

我必须计算文本文件中字符串的长度并计算出它们出现的频率。我可以计算长度,但我的频率计数器总是关闭,我不知道为什么。

假设我正在传递一个包含以下内容的文件:重新膨胀,错误指令,停产,胃气,和履带齿

我的程序注册了 2 个长度为 8 的字符串实例(正确)和 2 个长度为 16 的字符串实例(这是错误的,只有一个),它甚至无法识别 10 个字母的单词和 9 个字母的单词。我们也不允许使用 ArrayList,因此我们必须自己不断调整数组的大小。

这是我的代码:

int [] histogram = new int[0];

// while loop to read all words into your String[]
// and update all the freq counter for word lengths
while(infile.ready())
{
String word = infile.readLine();



if (word.length() >= histogram.length){
int [] newHistogram = new int [word.length()+1];
for (int p=0;p<histogram.length;p++){
histogram[p]=newHistogram[p];
}
newHistogram[word.length()]++;
histogram=newHistogram;
}

if (word.length() < histogram.length){
histogram[word.length()]++;
}
}

最佳答案

解决这个问题,

for (int p=0;p<histogram.length;p++)
{
newHistogram[p]=histogram[p]; //swapped around
}

还有这个,

if (word.length() >= histogram.length)
{
....
}
else // introduced
if (word.length() < histogram.length){
histogram[word.length()]++;
}

关于java - 无法让我的直方图正确计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21506364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com