我是编码新手,所以请对我放心。我试图使用两个单独的类(即 xyz 和单独的 xyztester 类)确定用户提供的数组的最大值和平均值。我已经编写了代码,但最大输出为 0.0,平均输出比数组长度小 1。这是我的编码 -
“xyz”类
public static double maximum(double[] array){
double max = array[0];
for (int j = 1; j < array.length; j++){
if(array[j] > max){
max = array[j];
}
}
return max;
}
public static double mean(double[] array){
double sum = 0;
for (double k = 0; k < array.length; k++)
sum = sum + array.length;
double avg = sum / array.length;
return avg;
}
“xyzTester”类
double [] b;
b = new double [quantArray];
int j;
for (j = 0; j > quantArray; j++){
b[j] = in.nextDouble();
}
double n = xyz.maximum(b);
double [] c;
c = new double [quantArray];
int k;
for (k = 0; k > quantArray; k++){
c[k] = in.nextDouble();
}
double o = xyz.mean(c);
有人可以详细说明我做错了什么吗?
最佳答案
我看到两个问题:在平均方法中
sum = sum + array.length;
应该是
sum = sum + array[k];
其次,所有浮点计算都应该在浮点运算之间进行。因此,最好在除法之前将数组长度等内容转换为双倍:
double avg = sum / (double)array.length;
关于java - 在 Java 中确定用户提供的数组的最大值和平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33186635/