我的代码已经随机翻转了一个"硬币"然后100次告诉人头被翻转多少次,尾巴被翻转。现在我试图弄清楚如何列出头部和/或尾部连续翻转多少次而没有其他变化例如:Heads,Heads,Heads。这是我的代码:
var NUM_FLIPS = 100;
function start() {
var flips = flipCoins();
printArray(flips);
countHeadsAndTails(flips);
}
function flipCoins() {
var flips = [];
for (var i = 0; i < NUM_FLIPS; i++) {
if (Randomizer.nextBoolean()) {
flips.push("Heads");
} else {
flips.push("Tails");
}
}
return flips;
}
function printArray(arr) {
for (var i = 0; i < arr.length; i++) {
println(i + ": " + arr[i]);
}
}
function countHeadsAndTails(flips) {
var headcount = 0;
var tailcount = 0;
for (var i = 0; i < flips.length; i++) {
if (flips[i] == "Heads") {
headcount++;
} else {
tailcount++;
}
}
println("Total Heads: " + headcount);
println("Total Tails: " + tailcount);
}
答案 0 :(得分:0)
在这种情况下我要做的是使用两个新变量:一个布尔变量来检测你是否计算一行中的头(真)或一行中的尾(假)和一个无符号整数来计算连续翻转的数量。您可以将刚刚在flipCoins()函数中翻转的布尔值与我在本回答中提到的布尔值进行比较;如果它们相同,则递增整数计数,如果它们不同,则将其重置为零。