gpt4 book ai didi

java - 如何高效统计数据

转载 作者:行者123 更新时间:2023-11-29 03:26:29 26 4
gpt4 key购买 nike

我有一系列成绩,想为不同的成绩间隔创建一个计数。这行得通,但如果要测试的类别更多,输入起来似乎很乏味。

        for (int x: grades){
if (x < 10) {
tally[0] += 1;
} else if (x < 20) {
tally[1] += 1;
} else if (x < 30) {
tally[2] += 1;
} else if (x < 40) {
tally[3] += 1;
} else if (x < 50) {
tally[4] += 1;
} else if (x < 60) {
tally[5] += 1;
} else if (x < 70) {
tally[6] += 1;
} else if (x < 80) {
tally[7] += 1;
} else if (x < 90) {
tally[8] += 1;
} else if (x < 100) {
tally[9] += 1;
}
}
}

还有其他方法吗?

最佳答案

对于任何区间,伪代码都是

int intervals[11]={0,10,20,30,40,50,60,70,80,90};
for(int i=1; i<11; i++)
{
if(x>=intervals[i-1] && x<intervals[i])
tally[i-1]+=1;
}

但如果它们就那么简单(10 的倍数):

for(int i=1; i<11; i++)
{
if(x>=(i-1)*10 && x<i*10)
tally[i-1]+=1;
}

@编辑或者实际上你可以:

int intervals[10]={10,20,30,40,50,60,70,80,90};
for(int i=0; i<10; i++)
{
if(x<intervals[i])
{tally[i]+=1; break;}
}

关于java - 如何高效统计数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20755296/

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