Как отобразить запись из подсказки, которая останавливает цикл - PullRequest
0 голосов
/ 14 февраля 2019

Я пытаюсь создать страницу, которая:

  • Запрашивает у пользователя его имя и отображает имя пользователя на странице
  • Запрашивает у пользователя число от 1и 9, и отображает таблицу умножения для этого числа
  • , если пользователь вводит число вне этого диапазона, а затем отправляет предупреждение с сообщением об ошибке
  • повторять, пока не получит число в желаемомдиапазон

Однако число, которое записывается в документе для таблицы умножения, остается первым числом, введенным в окно приглашения, даже если оно не находится в диапазоне от 1 до 9.

var greetingString = "Your name is ";
var myName = prompt("What is your name?", "");
    document.write(greetingString + myName + ".", "<br/>");
    document.write("<br/>");


var number = prompt("Enter a number:", "");

for(index = 1; index <= 9; index = index + 1) {
    document.write(number+ "*" +index+ "=" +number*index+ "<br/>");
}

while(true) {
    if(number<=0 || number>=10) {
    alert("Error!");
    number = prompt("Enter a number:", "");
    } else {
        break;
    }
}
document.write("<br/>");

Я ожидаю, что цикл продолжится, пока я не введу число от 1 до 9, но затем я ожидаю, что число от 1 до 9 будет в документе в таблице умножения.

1 Ответ

0 голосов
/ 14 февраля 2019

Вам нужно поместить цикл перед печатью таблицы.

Вы также можете поместить начальное приглашение внутрь цикла, чтобы вам не приходилось писать его дважды.

var greetingString = "Your name is ";
var myName = prompt("What is your name?", "");
document.write(greetingString + myName + ".", "<br/>");
document.write("<br/>");

while (true) {
  var number = prompt("Enter a number:", "");
  if (number <= 0 || number >= 10) {
    alert("Error!");
  } else {
    break;
  }
}

for (index = 1; index <= 9; index = index + 1) {
  document.write(number + "*" + index + "=" + number * index + "<br/>");
}

document.write("<br/>");
...