编程新手,可以'我不明白为什么这个因子计算器没有;不起作用

New to programming, can't figure out why this factor calculator doesn't work

本文关键字:计算器 不起作用 为什么 明白 可以 新手 编程      更新时间:2023-10-21

我正在尝试制作一个因子计算器。你输入一个数字,它就会找出这个数字的因子。如果你把原始数字除以它的因子,你就会得到零,我试图在这里实现这一点,这样当它返回"0"时,它就会被推送到一个数组中,然后这个数组就会被打印出来。

var number = prompt("Number?")
    
var array = []   
    
function modulo(a, b)
    {
    return a % b;
    }
    
 for (counter = 0; counter < number; counter++)  
    {
        var result = modulo(number, counter)
        if (result = 0)
           {
           array.push(counter) 
           }
    }
    
    for (counter = 0; counter < array.length; counter++)
    {
        alert(array[counter])
    }

结果是出现了提示,我输入了一个数字,但什么也没发生。有人能帮忙吗?

问题是,您使用了=(分配运算符)而不是==比较运算符

for (counter = 0; counter < number; counter++)
{
    var result = modulo(number, counter)
    if (result == 0) // in your code this is result = 0
    {
        array.push(counter)
    }
}

工作演示


完整代码:

var number = prompt("Number?")
var array = []
function modulo(a, b)
{
    return a % b
}
for (counter = 0; counter < number; counter++)
{
    var result = modulo(number, counter)
    if (result == 0)
    {
        array.push(counter)
    }
}
for (counter = 0; counter < array.length; counter++)
{
    alert(array[counter])
}

要检查值是否相等,请使用==而不是=:

if (result == 0)