我有一个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
}
关于如何处理这种情况的任何想法?
答案 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次调用该方法。