JavaScript,要求用户插入一个数字并判断它是否为素数

时间:2013-05-25 20:22:43

标签: javascript primes

我无法弄清楚问题在于要求用户插入一个数字并判断它是否为素数,这将是很有帮助的,因为这是我第二天学习JavaScript。

<!DOCTYPE html>
<html>
<head>
<title>Prime Checker</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
var i; result = true;
var n1 = prompt("Please insert a number, I'll check if it's a prime!" , "");
n1 = Number(n1);
if(isNaN(n1))
{
    alert("You didn't insert a number, please check again!");
}
else
{
    alert("I will check right now");
}
for(i = 2; i < n1; i++)
{
   if(n1 % i == 0)
    {
    result = false;
    break;
    }
}
if(result == true)
{
alert(n1 "is a prime");
}
else
{
alert(n1 "is not a prime")
}
</script>
</head>
<body>
</body>
</html>

2 个答案:

答案 0 :(得分:2)

有一个名为jsfiddle的强大工具可以提供帮助 - 我还建议使用Chrome开发工具或Firefox for Firebug。

Here是一个可行的JS小提琴 - 你很亲密。问题是你的JS甚至没有编译。你最近有几行:

alert(n1 "is not a prime")

应该是

alert(n1 + " is not a prime")

即使isNan为真,你仍然可以执行for循环。

答案 1 :(得分:0)

语法错误。这样:

alert(n1 "is a prime");

应该是:

alert(n1 + " is a prime");

其他警报也是如此。