for - 循环在特定条件下执行

时间:2014-07-30 02:31:06

标签: algorithm for-loop

我有一个for循环,其中计数的限制变化。每5次代码运行循环它调用一个METHOD,当剩下几次运行循环时说循环将再运行3次并退出,我必须检查该值然后调用用于3次代码的方法运行循环。

让我们说n = 17

for(int i = 0 ; i < n ; i++){
if(i%5){
  call method
 }
 // the remaining 2 more times the code run thru this loop i have to call the method

}

关于如何处理这种情况的任何想法?

2 个答案:

答案 0 :(得分:1)

可以在单一条件下完成 (i%5 == 0)5*(n/5)的最后一个{。}} 因此,您可以在(i%5 == 0)i > 5*(n/5)时调用该方法。

for(int i = 0 ; i < n ; i++){
  if((i%5 == 0) || i > (5*(n/5))) {
    call method
  } 
}

在n = 17的例子中,n / 5 = 3,所以你调用i = 0,5,10&amp;的方法。 15然后条件的第二部分启动,你调用i = 16的方法(注意,只有remaining 1 more time,而不是2,因为当我到达17时循环退出)。

答案 1 :(得分:0)

for(int i = 0 ; i < n ; i++) {
   if(i%5 == 0 || i > (n-3)) {
       //call method
   } 
}

如果我正确理解你的问题,这应该允许你在循环中每5次和最后3次调用该方法。