我想通过提示方法将用户输入的任何不同数字相除

问题描述 投票:0回答:1

我想要的是用户输入他或她想要划分的数字的限制,然后我可以划分它们。就像用户说限制是 4,然后输入 60/2/3/5 这样的数字得到 2。

case 'division':
    function division(){
        let num = 0;
        let division = 1;
        let div=division
        let i = 0;
        window.ask=prompt('Enter the limit of the numbers to be multiplied');
        while(i<window.ask){
            let num=parseInt(prompt('Enter the numbers one by one '));
            division= num/division;
            if(division=num){
                div=div/num;
            }
            i++;
        }
        alert("The result is "+div);
    }
    division();
    break;

我尝试这样做,期望输入第一个数字后它会除以 1,如果除法等于变量“num”中存储的数字,则 div 会将除法结果除以输入的“num”中存储的值在用户的下一轮中,但我得到了堆栈,因为 60/2/3/5 的结果是 0.0005,此外我想使用 while 循环来计算用户可以输入的任何限制,而不仅仅是像 3 0r 4 个数字。

javascript while-loop operator-precedence
1个回答
0
投票

所以你的代码中有几个错误。让我们一一看看吧。

  • 您尚未首次应用将输入数字等于
    division
    的条件。
  • 在 if 语句中,您不是进行比较,而是将除法分配给 num,这始终为 true。

下面的代码将解决上述问题,为您提供预期的输出。

<!DOCTYPE html>
<html>
<body>

<script>
switch('division'){
  case 'division':
  function division(){
      let division = 1;
      let i = 0;
      window.ask = prompt('Enter the limit of the numbers to be divided');
      while(i < window.ask){
          let num = parseInt(prompt('Enter the numbers one by one '));
        if(i === 0){ // <-------- Note this condition. You can use ternary as well. Just for clarity I used if
          division = num;
        }else{
          division = division / num;
        }
          i++;
      }
      alert("The result is "+ division);
  }
  division();
  break;
}
</script>

</body>
</html>

© www.soinside.com 2019 - 2024. All rights reserved.