首页 > 解决方案 > 如何在 for 循环中有一个数组,它实际上会在每次运行时改变 for 循环的大小?

问题描述

我希望我的 for 循环的长度是一个不断变化的数字。我可以这样做吗?

我还没有真正尝试过任何东西

for (int i=0; i < colsAdd[i] ; i++){            
   System.out.print("     0.0");    
}

实际上,这colsAdd[0]是唯一的尺寸。

标签: java

解决方案


我不确定我是否完全理解您的要求,但您似乎想知道允许将什么放入 for 循环的不同部分,以及它们运行的​​顺序。

如果我们更改您在上面粘贴的代码以匹配下图,则规则将变得显而易见。

for (initialization; condition; updateCounter){            
   codeInsideLoop    
}

for循环流程图

任何代码都可以进入 for 循环的那些部分,甚至可以留空!例如,以下代码等效于 while(true) 循环。

for (;true;){            
   System.out.print("This will run forever!");    
}

或者这个 for 循环在循环内递增。

for (int i=0; i < 10;){            
   System.out.print("This will print 10 times");  
   i++;
}

更符合您的问题,此代码在每次迭代时调用一个函数,以查看它是否应该继续循环。这个函数可以使用任何逻辑来返回一个布尔值。无论如何,它将在每个单循环结束时执行。

for (int i=0; keepLooping(i); i++){            
   System.out.print("This will print 10 times");  
   i++;
}

现在,仅仅因为你可以做这些事情并不意味着你应该!通常,您希望保持循环的结构简单,以便每个人都能理解您的目标是什么。


推荐阅读