我的柜台没有给我正确的值

时间:2018-11-23 22:58:49

标签: javascript counter

关于计划

我正在创建一个程序,计算一个人从 当前体重 到其 目标的减肥时间体重 ,每周的体重减轻了1.38公斤。

程序会提示用户输入 当前体重 目标体重 ,并显示无效的错误消息如果当前权重 目标权重 (或两者)均为0或更小。

程序还将检查 当前体重 是否大于 目标体重 ,并显示相应的错误如果 当前体重 不大于 目标体重

我的问题

如果 当前权重 大于 目标权重 ,则应执行循环以减少 当前体重 ,减少了1.38kg。循环应继续进行,直到 当前体重 小于或等于 目标体重 。计数器应跟踪循环执行的次数...这表示达到 目标体重 ... 所需要的周数。 >

但是每次我运行程序时,我都不会得到正确的结果。

下面是2个权重和正确的星期数的示例。

当前体重:87 目标体重:64 周:17

var current_weight = 0.0
var target_weight = 0.0
var weeks = 0

current_weight = prompt("What is your current weight?")
target_weight = prompt("What is your target weight?")

if (current_weight > 0 && target_weight > 0) {
  if (current_weight > target_weight) {
    while (current_weight <= target_weight); {
      current_weight = (current_weight - 1.38);
      weeks = weeks + 1;
    }
    alert("It will take " + weeks + " weeks for you to achieve your target!")
  } else {
    alert("Your current weight must be MORE than the target weight!");
  }
} else {
  alert("Invalid entry.")
}

我做错了什么?

1 个答案:

答案 0 :(得分:1)

while (current_weight <= target_weight);将在当前权重低于目标值(上面说不能达到目标值)时运行循环,因此该循环将永远不会运行。我反转了该符号,它可以正常运行。

var current_weight = 0.0
var target_weight = 0.0
var weeks = 0

current_weight = prompt("What is your current weight?")
target_weight = prompt("What is your target weight?")

if (current_weight > 0 && target_weight > 0) {
  if (current_weight > target_weight) {
    while (current_weight >= target_weight) {
      current_weight = (current_weight - 1.38);
      weeks = weeks + 1;
    }
    alert("It will take " + weeks + " weeks for you to achieve your target!")
  } else {
    alert("Your current weight must be MORE than the target weight!");
  }
} else {
  alert("Invalid entry.")
}