java - 在 Java 中确定用户提供的数组的最大值和平均值

标签 java arrays max mean

我是编码新手,所以请对我放心。我试图使用两个单独的类(即 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/

相关文章:

mysql - laravel 4 - 按查询加入最新结果

VSCode 中的 Java "' java.execute.workspaceCommand' failed"

java - Spring Data JPA 时间戳比较

java - 如何从 AlertDialogBox (EditText.xml) 获取字符串输入

php - 拆分数组中的多个元素

javascript - 数组连接函数不起作用

SQL 获取所有具有 MAX() 且月份为 ='jan' 的名称

java - 额外的cookie是如何产生的

arrays - swift 3 : Check for item in an array

MySQL 查询 : Write max(Date) from whole table to each row