关于计划
我正在创建一个程序,计算一个人从 当前体重 到其 目标的减肥时间体重 ,每周的体重减轻了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.")
}
我做错了什么?
答案 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.")
}