Java 第三个for循环将如何工作?
我有一个关于第三个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
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”循环何时回到第二个,然后再转到第三个循环,第三个循环只是重新开始,而不是它离开的地方。感谢您的演练,调试器工作得很好,我应该先尝试一下。