gpt4 book ai didi

javascript - 循环时输出中额外的 + ; javascript

转载 作者:行者123 更新时间:2023-11-28 00:27:25 25 4
gpt4 key购买 nike

我想要的输出是:5 + 6 + 7 + 8 + 9 + 10 = 45

我得到的输出是:1 + 2 + 3 + 4 + 5 + = 15(末尾有一个额外的+侧)。我不知道如何让它在末尾没有额外的 + 的情况下输出,而且我显然没有寻找正确的术语来弄清楚它。谢谢!

这是我的代码:函数练习7Part2() { //第 2 部分:您的代码在此行之后开始

// Declare variables
var loopStart;
var loopMax;
var total;

// Assignments
loopStart = Number(prompt("Enter a number:"));
loopMax = Number(prompt("Enter a number larger than the last:"));

total = 0;

// Processing
while (loopStart <= loopMax)
{
total += loopStart;
document.write(loopStart + " + ");
loopStart++;
}
document.write(" = " + total);

}

最佳答案

这是因为您正在打印 loopState + "+" ,它总是会在末尾打印 + 。相反,您必须检查它是否是最后一个值并阻止打印 +,否则,请使用三元运算符来打印它。

在此示例中,我检查loopStart 和loopMax 是否不相等。如果它们不相等,则在末尾附加 +

它会像:

    document.write(loopStart+ (loopStart!=loopMax ? "+" : ""));

这里(loopStart!=loopMax ? "+": "")是一个三元运算符。 loopStart!=loopMax 是一个 bool 表达式。它被评估,如果为 true,将使用 ? 之后的第一个参数,因此在本例中 + ,如果为 false,将使用 : 之后的任何参数所以在这种情况下它的 "" 空字符串。

// Declare variables
var loopStart;
var loopMax;
var total;

// Assignments
loopStart = Number(prompt("Enter a number:"));
loopMax = Number(prompt("Enter a number larger than the last:"));

total = 0;

// Processing
while (loopStart <= loopMax)
{
total += loopStart;
document.write(loopStart+ (loopStart!=loopMax ? "+" : ""));
loopStart++;
}
document.write(" = " + total);

使用正常的 if 条件 block

while (loopStart <= loopMax)
{
total += loopStart;
if(loopStart===loopMax) {
document.write(loopStart);
} else {
document.write(loopStart+ "+");
}
loopStart++;
}

关于javascript - 循环时输出中额外的 + ; javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29351606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com