Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“练习循环”;而JavaScript_Javascript_While Loop - Fatal编程技术网

“练习循环”;而JavaScript

“练习循环”;而JavaScript,javascript,while-loop,Javascript,While Loop,我被一项任务困住了。该练习基于“while”循环 这就是我需要得到的输出,使用一个变量来改变数字,只需打印“Case”和“Notes” 这是我的密码: function main() { var i = 1; while(i <= 64){ document.write("Case " + i + " : " + (i * 1)

我被一项任务困住了。该练习基于“while”循环

这就是我需要得到的输出,使用一个变量来改变数字,只需打印“Case”和“Notes”

这是我的密码:

function main()
                {
                    var i = 1; 

                    while(i <= 64){
                        document.write("Case " + i + " : " + (i * 1) + " notes" +  "<br>");

                        i = i*2;
                    }


                }

                main();
正如你所看到的,结果并不是我所需要的:我在“Case”旁边得到1,2,4,8,它应该是1,2,3,4。

试试这个:

function main() {
  var i = 0;
  while (i < 4) { 
    document.write('Case ' + (i + 1) + ' : ' + Math.pow(2, i) + ' Notes'); 
    i += 1; 
  }
}
函数main(){
var i=0;
而(i<4){
document.write('Case'+(i+1)+':'+Math.pow(2,i)+'Notes');
i+=1;
}
}

您可以简单地添加一个单独的索引计数器用于案例计数。大概是这样的:

函数main(){
var i=1;
var j=1;

而(我你初始化
i
1
,然后你加倍
i
就像
i=i*2
。所以下一次在循环中,当你打印
Case”+i
时,你期望
i
等于什么?这么多人急着为你做作业!:-)@兰迪·卡斯伯恩:谢谢你,我已经理解了。你知道
I*1
I
是一样的,对吧?也可以直接做
I++
。很好的解决方案,你觉得在循环中调用这个方法怎么样?另一个解决方案也很好。由于第二个变量,看起来有点冗长,但效率更高一些t、 投票给你。现在?
额外paren@RandyCasburn这只是OP代码中的一个复制粘贴错误。我从答案中删除了那个多余的部分。感谢您指出它为您输出一个。另一个解决方案也很好,我也将加上这个。好的部分是使用了一个计数器,并且值保持不变粗略地使用
Math.pow()
——但这也是该方法的潜在缺陷——循环中的方法调用有点异味。
Case 1 : 1 notes
Case 2 : 2 notes
Case 4 : 4 notes
Case 8 : 8 notes
function main() {
  var i = 0;
  while (i < 4) { 
    document.write('Case ' + (i + 1) + ' : ' + Math.pow(2, i) + ' Notes'); 
    i += 1; 
  }
}