问题 - 开发一个类平均脚本,每次运行时都会处理任意数量的结果。在用户键入-1之前,提示用户输入每个结果。 (哨兵) 确定类平均值并将其写入页面。 如果未输入任何结果(第一个输入为-1),则显示一条消息,指示该结果。
我的输出很远,我看不出我做错了什么。
<script>
var result;
var index = 0;
var average = 0 ;
var sum = 0;
result = prompt("Please enter your grade, enter -1 to exit");
parseInt(result);
if(result == -1)
{
alert("no input");
}
else
{
while(result != -1)
{
sum = result + sum; //adds on result to current sum
index++;
average = sum / index; //index divided by sum to get average
result = prompt("Please enter a number, enter -1 to exit");
parseInt(result);
}
document.write("average = " + average);
}
</script>
答案 0 :(得分:3)
您必须重新分配结果,而不仅仅是将其转换为int
./jwsdp-2_0-unix.sh -is:javahome /opt/java/jdk1.6.0_45/
或者您可以将操作快速转换为(脏路):
result = parseInt(result)
sum = +result + +sum;
意味着'将变量处理为整数'
答案 1 :(得分:0)
插入数据时,您忘记重新分配已解析的结果。
result = parseInt(result);
答案 2 :(得分:0)
parseInt();
表示十进制数, Everywhere set parseFloat();
,因为您需要在进行任何操作之前进行转换。
答案 3 :(得分:0)
试试这个..
var result;
var index = 0;
var average = 0 ;
var sum = 0;
result = prompt("Please enter your grade, enter -1 to exit");
result =parseInt(result);//changed
if(result == -1)
{
alert("no input");
}
else
{
while(result != -1)
{
sum = result + sum; //adds on result to current sum
index++;
average = sum / index; //index divided by sum to get average
result = prompt("Please enter a number, enter -1 to exit");
result =parseInt(result);//changed
}
document.write("average = " + average);
}
您错过了result
答案 4 :(得分:0)
对每个圆整数值使用parseInt()并分配回结果变量。
result = parseInt(result);