Как я могу остановить свой цикл под номером +/- 10 вместо остановки под номером 10? - PullRequest
0 голосов
/ 29 октября 2018

Как показано в коде ниже, мой цикл будет продолжаться вечно.

Я хочу, чтобы программа принимала пользовательский ввод и add или subtract 10 в зависимости от того, говорят ли они up или down с использованием приращений и уменьшений.

Любые намеки или помощь будут потрясающими! Заранее спасибо.

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); 
		  
	  }
  }
}

Ответы [ 2 ]

0 голосов
/ 29 октября 2018

Пока у вас есть ответ, который делает то, что вам нужно, я нахожу его немного недовольным тем, что у вас есть две петли. Вот еще один способ сделать это с помощью одного цикла (сохраняя множитель в зависимости от заданного направления):

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();
0 голосов
/ 29 октября 2018

Результатом первого запроса вызова не является число, вы должны привести его к номеру с помощью +prompt('...').

Поскольку @ Adrián упоминается в комментариях , сравнение также должно быть <= и >=, в противном случае оно остановится непосредственно перед целевым числом.

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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...