Java 第三个for循环将如何工作?

Java 第三个for循环将如何工作?,java,Java,我有一个关于第三个for循环的问题,请问它是如何工作的 public void outputBarChart() { System.out.println("Grade Distribution: \n"); int frequency[] = new int[11]; for(int oneGrade : grade) { ++frequency[oneGrade / 10]; } for (int count = 0; co

我有一个关于第三个for循环的问题,请问它是如何工作的

public void outputBarChart()
{
    System.out.println("Grade Distribution: \n");

    int frequency[] = new int[11];

    for(int oneGrade : grade)
    {
        ++frequency[oneGrade / 10];
    }

   for (int count = 0; count < frequency.length; count++)
   {
       if (count == 10) {
           System.out.println("100");
       }
       else {
           System.out.printf("%02d-%02d: ",
                   count*10, count*10 + 9);
       }

        //the third for loop here !
        for (int star = 0; star < frequency[count]; star++){
            System.out.print("*");
        }
        System.out.println();

   }
}
public void outputBarChart()
{
System.out.println(“等级分布:\n”);
整数频率[]=新整数[11];
对于(int oneGrade:grade)
{
++频率[1级/10];
}
对于(int count=0;count

问题是我不知道它是如何打印星号的。

循环将接受变量
star
并循环和递增,直到达到
频率[count]
的值。因此,它将以与
frequency[count]
中存储的值相同的次数运行循环

每次循环迭代都会打印一个星。最后打印一个空行


结果是将星号打印为一行上的
frequency[count]

那么让我们来看看代码:

第二个for循环包含第三个for循环,它将循环11次,因为这是频率y的长度。好吧,那很容易

现在第三个for循环迭代
frequency[count]
次,我们不知道这个值,但我们知道它是一个整数。所以第三个循环只需打印一个星号
频率[count]
次。之后,我们完成了第三个循环,第二个循环打印了一个换行符

System.out.println("*" * frequency[count]);

你能具体说明你的困惑吗?它只打印一行中的
frequency[count]
星星你到底不明白什么?这是一个简单的for循环,在每次迭代时打印一个
*
。运行调试器,跟踪执行过程,看看会发生什么。我想如果有人在理解这一点上有困难,那么他们可能还没有与调试器建立良好的关系。我很困惑,因为我不知道第三个“for”循环何时回到第二个,然后再转到第三个循环,第三个循环只是重新开始,而不是它离开的地方。感谢您的演练,调试器工作得很好,我应该先尝试一下。