伙计们我想了解为什么我们的频率增加,分级为10,有人可以帮忙解释一下。
public void getBarChart(){
System.out.println("\nGrade Distribution: ");
int[] frequency = new int[11];
for (int grade : grades)
++frequency[grade / 10];
for (int counter =0 ; counter < frequency.length; counter++){
if(counter == 10){
System.out.printf("%5d: ",100);
}
else{
System.out.printf("%02d-%02d: "
,counter * 10, counter * 10 + 9 );
}
for (int stars= 0; stars < frequency[counter] ; stars++)
System.out.print("*");
System.out.println();
}
}
答案 0 :(得分:3)
假设grade
可以介于0和100之间,frequency
数组会计算0-9,10-19,...,90-99,100组中的等级数。 / p>
这就是你将grade
除以10以找到数组索引的原因。
++frequency[grade / 10]
会增加该等级组中的成绩计数。
因此,例如,等级75将计入数组元素frequency[75 / 10]
,即frequency[7]
。 frequency[7]
将包含70到79范围内的成绩数。