【问题标题】:How to use loop in JavaScript using while?如何使用while在JavaScript中使用循环?
【发布时间】:2021-06-20 04:38:59
【问题描述】:

请原谅我的无知;我正在从零开始学习 JavaScript,没有任何编码背景。

这是一个问题: 为 LaunchCode 航天飞机定义三个变量——一个用于起始燃料水平,另一个用于航天员数量,第三个用于航天飞机到达的高度。

构造 while 循环来执行以下操作: 提示用户输入起始油位。循环应该一直持续到用户输入一个大于 5000 但小于 30000 的正值。我对这个问题很困惑,你能解释一下吗?

使用第二个循环向用户查询宇航员的数量(最多 7 个)。通过让循环继续直到用户输入 1 - 7 的整数来验证条目。

使用最后一个循环来监控燃料状态和航天飞机的高度。每次迭代,将每位宇航员的燃料水平降低 100 个单位。此外,将海拔高度增加 50 公里。 (提示:当没有足够的燃料将机组人员再推进 50 公里时,循环应该结束,因此燃料水平可能不会达到 0)。

循环完成后,输出结果为短语,航天飞机获得了 ___ 公里的高度。

如果高度为 2000 公里或更高,请添加“轨道已实现!” 否则添加,“未能到达轨道。”

这是我回答第一部分问题的代码:

  const input = require("readline-sync")

let startingFuelLevel=0;
let numberAstronautsAboard =0;
let altitudeshuttleReaches =0;

//a:
while (startingFuelLevel <= 5000 || startingFuelLevel >30000){
     startingFuelLevel = input.question("Enter the starting fuel level: ")
};

//b:
while(numberAstronautsAboard < 1 || numberAstronautsAboard > 7){
  numberAstronautsAboard = input.question("Enter the number of astronauts: ")
}

【问题讨论】:

  • 您应该在一个循环中不断地询问用户燃料油位,直到他们输入的值满足条件(即 > 5000 且
  • 如果您在第二部分中苦苦挣扎,那么您的问题应该集中在这一点上。不要过分强调你已经得到的前一部分,这只会给问题增加不必要的噪音。你能展示你在第二部分的尝试吗?描述一下到底是什么问题?
  • 另外,你的标签被换了,宇航员的数量被用于燃料水平
  • 感谢您的反馈,我写了第一部分,因为我不确定我所做的是否正确!
  • 对于 b 部分:使用第二个循环向用户查询宇航员的数量(最多 7 个)。通过让循环继续直到用户输入 1 - 7 的整数来验证条目。这是我的答案,我不确定它是否也正确! while(numberAstronautsAboard 7){ numberAstronautsAboard = input.question("输入起始燃料水平:") }

标签: javascript loops input while-loop iteration


【解决方案1】:

JSFiddle(纯js): https://jsfiddle.net/DariusM/14parbue/18/

除了消息、条件和对 isNaN 的检查之外,您似乎对前两部分有所了解 - 用户输入。

至于第三个循环,可以使用setInterval()重复运行一个函数,每次执行如下操作:

  1. 降低油位
  2. 增加高度
  3. 检查是否有足够的燃料进行下一次迭代。

根据上面 (3) 中的检查,您可以根据当前高度向用户显示特定消息。

然后,在燃料完成并向用户显示最终消息后,需要使用clearInterval()清除间隔

祝你工作顺利,编码愉快!

【讨论】:

    猜你喜欢
    • 2017-09-11
    • 2018-03-30
    • 2020-08-14
    • 2020-04-17
    • 2021-11-17
    • 1970-01-01
    • 2018-02-06
    • 2015-01-08
    • 1970-01-01
    相关资源
    最近更新 更多