好的,我正在处理循环分配这个问题。 我应该为前4个循环使用“while”循环,为剩余的15个循环使用“for”循环。问题是while循环中的前4个按顺序正确打印到控制台,就像它们应该的那样。
其余15只以奇数间隔IE打印到控制台:“5,7,9,11 ....”
我的for循环有什么问题?
var currentGen = 1;
var totalGen = 19;
var totalMW = 0;
while(currentGen <= 4){
console.log("Generator #" + currentGen + " is on, adding 62 MW, for a total of " + (totalMW = totalMW + 62) + " MW!");
currentGen++;
}
for(currentGen = 5; currentGen < 20; currentGen = currentGen + 1){
console.log("Generator #" + currentGen + " is on, adding 62 MW, for a total of " + (totalMW = totalMW + 124) + " MW!");
currentGen++;
}
答案 0 :(得分:4)
你们俩都有
currentGen = currentGen + 1
和
currentGen++;
所以每次迭代你都会增加2,而不是1.只需做一个或另一个。
答案 1 :(得分:0)
因为for
循环有自己的增量部分。您不必在循环体中再次执行此操作
for(currentGen = 5; currentGen < 20; currentGen = currentGen + 1 ) { //incrementing
console.log("Generator #" + currentGen + " is on, adding 62 MW, for a total of " + (totalMW = totalMW + 124) + " MW!");
// currentGen++; // Incrementing again
}
答案 2 :(得分:0)
那是因为你不应该在for循环中使用currentGen ++行。 for循环执行变量增量部分。