如何编写一个函数来打印数组中值的计数,并将数组作为参数?
How do I write a function that prints counts of values in an array, taking the array as a parameter?
从创建抛硬币数组的以下程序开始,我必须添加一个函数来打印出抛出的正面总数和反面总数。该函数必须将翻转数组作为参数。
这是给定的程序:
var NUM_FLIPS = 100;
function start(){
var flips = flipCoins();
printArray(flips);
countHeadsAndTails();
}
// This function should flip a coin NUM_FLIPS
// times, and add the result to an array. We
// return the result to the caller.
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) {
//Write the program here
}
这是我目前所拥有的,但该功能没有按预期工作。我对要在 if
语句中放入什么感到困惑。
function countHeadsAndTails(flips) {
var headCount = 0;
var tailCount = 0;
for (var i = 0; i < NUM_FLIPS; i++) {
if (i == "Heads") {
headCount += 1;
}else {
tailCount += 1;
}
}
println("Total Heads: " + headCount);
println("Total Tails: " + tailCount);
}
程序随机翻转正面或反面 100 次并打印出结果,但计数器不工作,我得到这个:
Total Heads: 100
Total Tails: 0
if (i == "Heads") {
不起作用的原因是因为 i
是当前索引(一个数字)并且您正在将它与字符串 "Heads"
进行比较。我怀疑你想要的是 if (flips[i] == "Heads") {
。基本上使用索引 i
来获取数组中的第 i
个元素并将其与 "Heads"
.
进行比较
此外,参数 flips
未传递给 start()
函数中的 countHeadsAndTails()
。看起来这可能是提供的问题本身的问题。我假设他们提供的 countHeadsAndTails
存根函数已经有 flips
参数?
从创建抛硬币数组的以下程序开始,我必须添加一个函数来打印出抛出的正面总数和反面总数。该函数必须将翻转数组作为参数。
这是给定的程序:
var NUM_FLIPS = 100;
function start(){
var flips = flipCoins();
printArray(flips);
countHeadsAndTails();
}
// This function should flip a coin NUM_FLIPS
// times, and add the result to an array. We
// return the result to the caller.
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) {
//Write the program here
}
这是我目前所拥有的,但该功能没有按预期工作。我对要在 if
语句中放入什么感到困惑。
function countHeadsAndTails(flips) {
var headCount = 0;
var tailCount = 0;
for (var i = 0; i < NUM_FLIPS; i++) {
if (i == "Heads") {
headCount += 1;
}else {
tailCount += 1;
}
}
println("Total Heads: " + headCount);
println("Total Tails: " + tailCount);
}
程序随机翻转正面或反面 100 次并打印出结果,但计数器不工作,我得到这个:
Total Heads: 100
Total Tails: 0
if (i == "Heads") {
不起作用的原因是因为 i
是当前索引(一个数字)并且您正在将它与字符串 "Heads"
进行比较。我怀疑你想要的是 if (flips[i] == "Heads") {
。基本上使用索引 i
来获取数组中的第 i
个元素并将其与 "Heads"
.
此外,参数 flips
未传递给 start()
函数中的 countHeadsAndTails()
。看起来这可能是提供的问题本身的问题。我假设他们提供的 countHeadsAndTails
存根函数已经有 flips
参数?