计算范围内的整数
Counting Integers In Range
我正在尝试学习使用 for() 循环将整数(整数)从一个数字计数到另一个数字。这是我到目前为止的代码:
function processLoop(earlier,later) {
earlier = 0;
later = 0;
count = 0;
for (i = earlier; i <= later; i++) {
count = count + i;
};
return count;
};
我应该有这两个参数,但它没有运行。我觉得我不够清楚,所以这是我的说明:
- 在 DESIGNER 中创建 javascript 06.js 带有通用函数:countIntegers()没有 HTML 页面。没有事件处理程序。
- 该函数接收两个参数。它们介于(..)之间。
- 对参数使用所需的任何名称,但可以使用如下描述性名称:第一个和最后一个
- 计算从第一个参数到第二个参数的所有整数。在这里你只是数数而不是计算总数。
- 您需要做的就是使用 for() 循环并返回计数。
- 返回整数的计数。使用 return,因为这是一个通用函数。
对此很陌生,不确定我应该在这里做什么。感谢您的任何帮助...
无论您
传入什么,您都将参数设置回零。
摆脱这些线条。
此外,使用 var
定义局部变量。
function processLoop(earlier,later) {
var count = 0;
for (var i = earlier; i <= later; i++) {
count = count + 1;
};
return count;
};
如果earlier
和later
是默认值,可以在参数传递给函数时设置,则可以使用运算符OR
||
。您还应该用 ++count
替换 count = count + i
以返回 earlier
和 later
之间的差值。还用<
运算符代替<=
运算符。
function processLoop(earlier, later) {
var earlier = earlier || 0,
later = later || 0,
count = 0;
// use `for` loop only if `earlier` does not equal `later`
// and `later` is greater than `earlier`
if (typeof earlier === "number" && typeof later === "number") {
if (earlier !== later && later > earlier) {
for (i = earlier; i < later; i++) {
++count;
};
} else {
return new Error("earlier is not greater than later")
}
return count;
} else {
return new TypeError("earlier or later is not a number")
}
};
console.log("no parameters passed to processLoop:", processLoop()
, "'n10 passed as later:", processLoop(null, 10)
, "'ndifference between 25 and 50:", processLoop(25, 50)
, "'ndifference between 5 and 6:", processLoop(5, 6)
, "'ndifference between 1 and 1:", processLoop(1, 1)
, "'nearlier or later is not a number", processLoop("a", "b")
);
您需要尝试解释问题的答案,因为它有点模糊。如果要计算实数 x 和 y 之间的整数,知道区间是开还是闭非常重要。
我一般不支持编写代码,但在这种情况下,这是最好的答案。以下代码对闭合实数区间 [较早,较晚] 中的整数进行计数:
function countIntegers(earlier, later)
{ earlier = Math.ceil(earlier);
later = Math.floor( later);
for( var i = earlier, count = 0; i <= later; ++i, ++count);
return count;
}
您可能需要查找Math.ceil
和Math.floor
的作用,并尝试开放区间和闭区间的组合,直到找到标记为正确的区间。享受 :-)
function processLoop(earlier,later) {
var count = 0;
for (i = earlier; i < later; i++) {
count++;
};
document.getElementById("demo").innerHTML = count;
};
<html>
<body>
<button onclick="processLoop(1,3)">Click me</button>
<p id="demo"></p>
</body>
</html>
不要将参数的值设置为在函数内部zero
。如果要在 earlier
和 later
之间计数,并且不需要包含earlier
请使用 i < later
而不是 i <= later
.
function processLoop(earlier,later) {
count = 0;
for (i = earlier; i < later; i++) {
count++;
};
return count;
};
相关文章:
- Angularjs无法将单选按钮与嵌套范围内的模型绑定
- 如何使用D3生成特定范围内的随机颜色
- 将自定义css保持在角度范围内
- Angular JS-文本框未在独立范围内更新
- cookie不在网站范围内
- 获取给定JavaScript范围内的解析函数
- 如何在JavaScript中使用此函数对范围内的所有数字求和
- JavaScript-仅验证数值并且在范围内
- JS:从数组中查找特定范围内的最低/最高数字
- 试图检查表单中的值是否为一个设定范围内的数字
- 在十进制范围内搜索
- 基于日期范围的一组日期范围内的天数
- 如何在 Google 应用脚本中 sendEmail 函数的范围内的唯一非空白列中返回值
- 将数组传递给函数或确保它在范围内
- socket.io 客户端是否必须存在于全局范围内
- 查找某个日期范围内的可用天数
- 网站范围内jQuery/javascript选择器的最佳实践
- 计算范围内的整数
- 检查整数是否在其中一个范围内
- 生成范围内不以零开始的随机整数