[英]Javascript: Keep count of even and odd random numbers and get the sum of each
When I run this program I am only getting the even number count and the odd sum.当我运行这个程序时,我只得到偶数计数和奇数总和。 The odd count and even sum just gives me 0 every time.奇数和偶数每次都给我 0。 Does anyone have any idea what I am missing?有谁知道我错过了什么? Thanks!谢谢!
I am trying to generate 100 random numbers and keep count of the evens/odds and then get the sum of each.我正在尝试生成 100 个随机数并保持对偶数/几率的计数,然后得到每个的总和。
var min = 1;
var max = 1000;
var randomNumArray = []
var oddCount = []
var evenCount = []
var oddSum = []
var evenSum = []
function isEven(x){
if (x % 2 == 0)
return true;
else
return false;
}
function sumOfArray(evenSum){
for(i = 0; i< evenSum.length; i++){
if (isEven){
return(evenSum);
}
else{
return (oddSum);
}
}
}
for( i = 0; i < 100; i++){
var randNumber = Math.floor(min + (Math.random() * max));
randomNumArray.push(randNumber);
}
for( i = 0; i< randNumber.length; i++){
if (isEven(evenCount[i])){
return evenCount;
}
else{
return oddCount;
}
}
console.log('Even Number Count: ' + evenCount);
console.log('Odd Number Count: ' + oddCount);
console.log('Sum Even: ' + evenSum);
console.log('Sum Odd: ' + oddSum);
我只会使用 1 函数来检查它是偶数还是奇数,然后决定将总和与数字本身相加,并将计数加 1。您使它变得更加复杂,我想知道为什么要使用数组。
Try something like this:尝试这样的事情:
for( i = 0; i < 100; i++){
var randNumber = Math.floor(min + (Math.random() * max));
if(isEven(randNum)){
evenSum = evensum+randNum;
evenCount ++;
}else{
oddSum= oddSum+randNum;
oddSum++;
}
}
var oddCount = 0
var evenCount = 0
for(i=0; i<randomNumArray.length; i++) {
if(randomNumArray[i] % 2 == 0) {
evenCount++
} else {
oddCount++
}
};
Something like that should work?这样的事情应该有效吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.