我不知道为什么我的控制台总是输出同样的东西
I don't know why my console always outputs the same thing
我得到了这个简单的场景:“编写一个模拟两个骰子滚动的程序。继续掷骰子,直到骰子总和为 7 或 11。您的程序应显示每次掷骰的结果。"
这很容易,我知道。但是每张印刷品的总和总是相同的,而且加法不正确。可能只是没有看到正确的东西,但我是一个超级初学者。
注意 - 在这种情况下,write() 函数仅在屏幕上显示文本。
这是我的代码:
var die1 = randomNumber(1, 6);
var die2 = randomNumber(1, 6);
var sum = die1 + die2;
while (!(sum == 7 || sum == 11)) {
die1 = randomNumber(1,6);
die2 = randomNumber(1,6);
write("Rolled " + die1 + " and " + die2 + ", sum is " + sum);
}
write("Done.");
您忘记重新计算 while 循环内的 sum
:
var die1 = randomNumber(1, 6);
var die2 = randomNumber(1, 6);
var sum = die1 + die2;
while (!(sum == 7 || sum == 11)) {
die1 = randomNumber(1,6);
die2 = randomNumber(1,6);
// FIX: recalculate sum
sum = die1 + die2;
write("Rolled " + die1 + " and " + die2 + ", sum is " + sum);
}
write("Done.");
此外,使用 do-while 循环会更干净:
var die1, die2, sum;
do {
die1 = randomNumber(1,6);
die2 = randomNumber(1,6);
sum = die1 + die2;
write("Rolled " + die1 + " and " + die2 + ", sum is " + sum);
} while(!(sum == 7 || sum == 11));
write("Done.");
注意: 也是依赖于randomNumber()函数里面写的逻辑。
我得到了这个简单的场景:“编写一个模拟两个骰子滚动的程序。继续掷骰子,直到骰子总和为 7 或 11。您的程序应显示每次掷骰的结果。"
这很容易,我知道。但是每张印刷品的总和总是相同的,而且加法不正确。可能只是没有看到正确的东西,但我是一个超级初学者。
注意 - 在这种情况下,write() 函数仅在屏幕上显示文本。 这是我的代码:
var die1 = randomNumber(1, 6);
var die2 = randomNumber(1, 6);
var sum = die1 + die2;
while (!(sum == 7 || sum == 11)) {
die1 = randomNumber(1,6);
die2 = randomNumber(1,6);
write("Rolled " + die1 + " and " + die2 + ", sum is " + sum);
}
write("Done.");
您忘记重新计算 while 循环内的 sum
:
var die1 = randomNumber(1, 6);
var die2 = randomNumber(1, 6);
var sum = die1 + die2;
while (!(sum == 7 || sum == 11)) {
die1 = randomNumber(1,6);
die2 = randomNumber(1,6);
// FIX: recalculate sum
sum = die1 + die2;
write("Rolled " + die1 + " and " + die2 + ", sum is " + sum);
}
write("Done.");
此外,使用 do-while 循环会更干净:
var die1, die2, sum;
do {
die1 = randomNumber(1,6);
die2 = randomNumber(1,6);
sum = die1 + die2;
write("Rolled " + die1 + " and " + die2 + ", sum is " + sum);
} while(!(sum == 7 || sum == 11));
write("Done.");
注意: 也是依赖于randomNumber()函数里面写的逻辑。