循环应该取每本书的价格,将其添加到总数中,然后将平均值放在每本书的页面上,直到用户输入“N”
<script type="text/javascript">
var ct = 1;
var yesORno = "Y";
while (yesORno = "Y"){
book = prompt("What is the price of book #" + ct, 0);
total = parseInt(book) + total;
ans = total / ct;
document.write("<p>With book #" + ct +" The average is " + ans + "</p>");
ct = ct + 1;
yesORno = prompt("Would you like to continue? (Y/N)", "")
}
</script>
答案 0 :(得分:8)
您应该将while条件更改为:
while (yesORno == "Y")
仅使用=
会将“Y”值分配给yesORno并返回自身,该值将被评估为true并使其永久运行。
答案 1 :(得分:3)
var ct = 1;
var yesORno = "Y";
while (yesORno == "Y"){
book = prompt("What is the price of book #" + ct, 0);
total = parseInt(book) + total;
ans = total / ct;
document.write("<p>With book #" + ct +" The average is " + ans + "</p>");
ct = ct + 1;
yesORno = prompt("Would you like to continue? (Y/N)", "")
}
看第三行。
答案 2 :(得分:3)
与其他人一样,您使用了赋值运算符=
而不是等于运算符==
或严格相等运算符===
。
但是,您也可以使用do while循环重构代码。这样就无需使用yesORno
变量。
do {
//...
} while(prompt("Would you like to continue? (Y/N)", "") === 'Y')