我在使用subAverage
类时遇到了困难。使用主要方法时,它似乎不能正常工作。基本上,subAverage
对包含开始和结束索引的数组中的项进行平均。然而,当我运行此我得到数组 - 平均值
3
6
3
时,我应该得到
3
9
6
我在做什么错?
public class Weight {
int[] data;
Weight(int[] init) {
data = new int[init.length + 1];
for (int j = 0; j < init.length; j++) {
data[j] = init[j];
}
}
int subAverage(int start, int end) {
int sum = 0;
for (int j = start; j <= end; j++) {
sum = data[j] + sum;
}
return sum/(end - start + 1);
}
public static void main(String[] args) {
int[] values = {1, 3, 5, 7, 9, 11};
Weight june = new Weight(values);
if (values.length % 2 == 0) {
int firstHalf = june.subAverage(0, values.length/2 - 1);
int secondHalf = june.subAverage(values.length/2, values.length);
int difference = Math.abs(secondHalf - firstHalf);
System.out.println(firstHalf);
System.out.println(secondHalf);
System.out.println(difference);
}
if (values.length % 2 == 1) {
int firstHalf = june.subAverage(0, values.length/2);
int secondHalf = june.subAverage(values.length/2, values.length);
int difference = Math.abs(secondHalf - firstHalf);
System.out.println(firstHalf);
System.out.println(secondHalf);
System.out.println(difference);
}
}
}