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

I want to divide any different numbers entered by user through prompt method

提问人:Princessa 提问时间:11/1/2023 最后编辑:Jaromanda X Princessa 更新时间:11/1/2023 访问量:63

问:

我想要的是用户输入他或她想要除以的数字的限制,然后我可以除以它们。就像用户说限制是 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 运算符优先级

评论

0赞 Jaromanda X 11/1/2023
应该是 ?if(division=num){if(division==num){

答:

0赞 mandy8055 11/1/2023 #1

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

  • 您尚未首次应用将输入数字等同于 的条件。division
  • 在你的 if 语句中,你不是比较,而是将除法分配给 num,这总是正确的。

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

<!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>

编辑:

  1. 为什么添加 if 语句?

好吧,根据您共享的代码,最初是 1。现在,对于用户将输入的第一个数字,没有除数,因为我们只有一个数字,因此将等于该输入数字。第二次以后我们有股息(除法的前一个值,即 根据您的示例)和除数(新提供的输入,即 根据您的示例),因此从下次开始,划分将按照预期进行。divisiondivision602

  1. === operator in javascript.

评论

1赞 Princessa 11/1/2023
好吧,谢谢,我想问题现在已经解决了
0赞 Princessa 11/1/2023
好吧,如果您不介意,请您为我解释一下 if 语句和 3 等号 (===) 的原因吗?
0赞 Princessa 11/1/2023
好的,谢谢你
1赞 Princessa 11/1/2023
这是一个很好的答案,感谢您的帮助