在for循环java中递增int变量

时间:2017-10-24 08:48:13

标签: java

伙计们我想了解为什么我们的频率增加,分级为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();
    }
}

1 个答案:

答案 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范围内的成绩数。