【问题标题】:How do I add inputs together in a do while loop?如何在 do while 循环中将输入添加在一起?
【发布时间】:2016-10-04 09:15:58
【问题描述】:

您好,我对 javascript 非常陌生,并且一直在做作业。我的问题是如何在 do while 循环中添加多个输入?我应该将所有输入加在一起,然后除以输入量以获得平均值。例如,如果用户输入 7、3、5 和 2,那么答案将是 4.25。这就是我目前所拥有的。

var prompt;
var input = prompt("Please enter a number, input a negative number to  stop");
var number = input >= 0;
var alert;
var sum = 0;
var sum2 = 0;
while (input <= 0) {
    input = +prompt("Error enter a positive number to start");
}
do {
    input = +prompt("Enter another number, a negative to stop");
    sum += number;
    //inputs added together goes here
}     while (input >= 0);
alert(); //inputs added together divided by sum goes here

【问题讨论】:

  • 您不需要第一个输入,也不需要 while 循环。 prompt 和 alert 已在客户端 JS 中定义。 sum2 未使用,缩进不好。除了所有代码注释之外,该算法非常简单,并且可以更容易地转换为 JS。
  • 这个问题不费吹灰之力,希望你的老师能看到并认出你,让他知道你需要额外的辅导。

标签: javascript do-loops


【解决方案1】:

你好试试这个版本;

var num = 0, sum = 0, count = 0; 
do { 
num = parseInt(prompt('Enter Number')); 
sum = num >= 0 ? sum+=num : sum; 
count = num >= 0 ? count+=1: count; } 
while(num >= 0);
console.log(sum + ' count is ' + count);
console.log(sum/count);

基本上我从提示中读取,将输入转换为整数,如果数字为 0 或更大,我将它们相加。如果数字为 0 或更大,我将计数加 1,然后将总和除以计数

【讨论】:

    【解决方案2】:

    增加 sum2 的值以计算无输入。并添加一个条件,如果用户输入负值,则总数将除以输入数。

    我已经编辑了你的代码。

    var prompt;
    var input = prompt("Please enter a number, input a negative number to  stop");
    var number;
    var alert;
    var sum = 0;
    var sum2 = 0;
    while (input <= 0) {
    input = +prompt("Error enter a positive number to start");
    }
    do {
    input = +prompt("Enter another number, a negative to stop");
    number=input;
    alert(number);
    sum += number;
    sum2++;
    if(input<0){
    sum +=(-number);
    alert("average"+(sum/(sum2-1)));
    }
    //inputs added together goes here
    }     while (input >= 0);
    alert();
    

    希望它会有所帮助。

    【讨论】:

      【解决方案3】:
      'use strict';
      let input, sum = [];
      do {
          input = prompt("Enter another number, a negative to stop");
          sum.push(input);
      } while (input >= 0);
      alert(sum.filter((a, b) => {return a + b}) / sum.length);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-05-19
        • 2013-06-05
        • 1970-01-01
        • 1970-01-01
        • 2021-05-13
        • 2021-05-22
        • 2021-07-05
        相关资源
        最近更新 更多