循环时JavaScript平均值

时间:2015-11-26 14:26:41

标签: javascript

问题 - 开发一个类平均脚本,每次运行时都会处理任意数量的结果。在用户键入-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>

5 个答案:

答案 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);