java - 如何计算Java中除数的平均数

标签 java average

我正在编写一个包含方法 numdiv 的程序,该方法查找 d 的除数数。我还有一个名为 sumSquares 的方法,它可以查找 1 和 n 之间的平方。我在 main 方法中放置了一个 for 循环来查找 10 到 50 的平方和和除数,只是现在我想查找黑白 10 和 50 的除数的平均数。代码如下:


    public static void main(String[] args) {
        System.out.println("NUMBER\tSUM OF SQUARES\tDIVISORS");//setup table
        //loop through numbers 10 to 50
        for(int i = 10; i <= 50; i++){ //i represents the integers to print
            System.out.println(i + "\t" + sumSquares(i) + "\t\t" + numdiv(i));
        }
    }

    public static int sumSquares(int n){
        int sum = 0; //define sum
        for(int num = 1; num <= n; num++){
            sum = (num*num) + sum; //set sum equal to num*num then add to sum
        }
        return sum;
    }

    public static int numdiv(int d){
        int div = 0; //counter for divisors

        for(int num = 1; num <= d; num++){
            if(d % num == 0){ //check if d is a divisor
                div++; //increment div each time true
            }
        }
        return div;
    }
}

有人知道我该怎么做吗?

最佳答案

根据您的方法,无需更改它们以保持逻辑,您可以将 main 方法更改为如下所示:

public static void main(String[] args) {
    System.out.println("NUMBER\tSUM OF SQUARES\tDIVISORS");//setup table
    //loop through numbers 10 to 50
    int sumSquares = 0;
    int numDiv = 0;
    int totalSquares = 0;
    int totalDiv = 0;
    for(int i = 10; i <= 50; i++){ //i represents the integers to print
        sumSquares = sumSquares(i);
        numDiv = numdiv(i);
        System.out.println(i + "\t" + sumSquares + "\t\t" + numDiv);
        totalSquares += sumSquares;
        totalDiv += numDiv;
    }
    System.out.printf("Average sumSquares: %d - Average numDiv: %d", totalSquares/41, totalDiv/41);
}

注意:我已经对 41 除数进行了硬编码,因为您也对 10 到 50 之间的数字进行了硬编码。您应该将其具体化,并且还应将 for 循环数字具体化。

关于java - 如何计算Java中除数的平均数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58422084/

相关文章:

java - 将基因搜索结果打印到 HTML 选项卡

c# - 无溢出异常的平均函数

r - 如何根据R中缺失数据的日期列计算数据框中多列的月平均值

java - 我不明白为什么不执行 post 方法的原因

Java 循环显示 SQL 国家/地区表中的多种语言

C++无法完成 double 值的平均计算

c++ - 找到没有极值的平均值

sql - 仅获取 "last month"的平均值

history - 从哪里可以获得 JDK 1.0.2 JavaDocs 的副本?

JAVA:java.net.BindException: 地址已被使用: JVM_Bind