gpt4 book ai didi

java - 使用数组求偶数和奇数平均值

转载 作者:行者123 更新时间:2023-11-30 03:40:10 25 4
gpt4 key购买 nike

Write a program that reads a list of 10 values from the user. Put the values in an array. The program should read the array and then calculate and display the average of the even input values and the average of the odd input values. This should be done using objects, methods, and a tester class.

我无法弄清楚为什么会收到错误:

bad operand types for binary operator.

我不知道该改变什么。我知道我的 mod (%) 有问题。

这是迄今为止我的 Average 类的内容:

public class Average 
{
private int[] numbers = new int[10];
double aveEven, aveOdd,sumEven=0,sumOdd=0;
int oddCounter=0, evenCounter=0;
public Average(int[] n)
{
numbers = n;

if (numbers % 2 == 0)/something is wrong here/
{
evenCounter++;
sumEven+=n;

}
else
{
oddCounter++;
sumOdd+=n;

}
}

public void aveEven()
{
for (int i = 0; i < numbers.length; i++)
{
aveEven = sumEven/evenCounter;
System.out.println("The even average is: " + aveEven);
}
}

public void aveOdd()
{
for(int i = l; i < numbers.length; i++)
{
aveOdd = sumOdd/oddCounter;
System.out.println("The odd average is: " + aveOdd);
}
}
}

对于 AverageTester 类,我有以下内容:

import java.util.Scanner;
public class AverageTester
{public static void main(String[] args)
{
int[] integer = new int[10];

Scanner input = new Scanner(System.in);

for(int i=0 ; i < 10 ; i++)
{
System.out.print("Please enter a number : ");
integer[i] = input.nextInt();
}

Average example = new Average(integer);
example.aveOdd();


}
}

此外,如果您发现任何其他可能错误的地方,请告诉我。谢谢。

最佳答案

numbers 是一个数组,因此 numbers % 2 无效。您应该循环遍历数组并对数组的元素使用 % 运算符。 += 运算符还应该应用于数组的一个元素(即 numbers[i]),而不是整个数组。

numbers = n;
for (int i = 0; i < numbers.length; i++) {
if (numbers[i] % 2 == 0) {
evenCounter++;
sumEven+=numbers[i];
} else {
oddCounter++;
sumOdd+=numbers[i];
}
}

至于 aveEvenaveOdd,因为您已经在构造函数中计算了总和(或者至少看起来这就是您想要做的),所以您不需要这些方法中不需要循环。

编辑:

我最初假设您打算计算数组中偶数位置的数字的平均值和奇数位置的数字的平均值。再次阅读问题后,我认为奇数/偶数指的是数字本身,因此我相应地更改了代码。

关于java - 使用数组求偶数和奇数平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26987791/

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