首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我怎样才能在数字+/- 10处停止循环而不是在数字10处停止呢?

我怎样才能在数字+/- 10处停止循环而不是在数字10处停止呢?
EN

Stack Overflow用户
提问于 2018-10-29 20:31:08
回答 2查看 76关注 0票数 1

如下面的代码所示,我的循环将永远进行下去。

我希望该程序根据用户使用增量和递减来表示addsubtract 10来获取用户的输入和updown

任何提示或帮助都将是惊人的!提前谢谢你。

代码语言:javascript
复制
function runprogram() {
 var thenumber=prompt('Give me a number to increment or decrement!')
 var updown=prompt('Should I increment it up or down?')
 var thenumberup= (thenumber + 10)
 var thenumberdown=(thenumber - 10)
 
 var i; 
  
  if(updown == 'up') {
	  
	  for(i = thenumber; i < 10; i++) { 
		alert(i);
	  }
  }
  
  if(updown == 'down') {
	  for (i = thenumber; i > 10 ; i--) {
		alert(i); 
		  
	  }
  }
}

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-29 20:45:49

第一个提示调用的结果不是数字,您必须使用+prompt('...')强制将其强制到一个数字。

作为@Adrián mentioned in the comments,比较还应该是<=>=,否则它将直接停在目标号之前。

代码语言:javascript
复制
function runprogram() {
  var thenumber = +prompt('Give me a number to increment or decrement!')
  var updown = prompt('Should I increment it up or down?')
  var thenumberup = (thenumber + 10)
  var thenumberdown = (thenumber - 10)

  var i;
  if (updown == 'up') {
    for (i = thenumber; i <= thenumberup; i++) {
      alert(i);
    }
  }

  if (updown == 'down') {
    for (i = thenumber; i >= thenumberdown; i--) {
      alert(i);
    }
  }
}

runprogram();

票数 3
EN

Stack Overflow用户

发布于 2018-10-29 20:52:30

虽然你得到了一个能满足你需要的答案,但我觉得你有两个循环有点不满意。另一种方法是使用单个循环(根据给定的方向存储乘法器):

代码语言:javascript
复制
function run() {
  var number = +prompt('number', 0)
  var direction = prompt('up or down?', 'up')
  var multiplier = direction === 'up' ? 1 : -1
  
  for (var i = 0; i < 10; i++) {
    alert(number + (i * multiplier));
  }
}

run();

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53053371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档