猿问

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

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;

    }

}

有人知道我该怎么做吗?


慕沐林林
浏览 104回答 1
1回答

慕丝7291255

根据您的方法,无需更改它们以保持逻辑,您可以将main方法更改为如下所示:public static void main(String[] args) {&nbsp; &nbsp; System.out.println("NUMBER\tSUM OF SQUARES\tDIVISORS");//setup table&nbsp; &nbsp; //loop through numbers 10 to 50&nbsp; &nbsp; int sumSquares = 0;&nbsp; &nbsp; int numDiv = 0;&nbsp; &nbsp; int totalSquares = 0;&nbsp; &nbsp; int totalDiv = 0;&nbsp; &nbsp; for(int i = 10; i <= 50; i++){ //i represents the integers to print&nbsp; &nbsp; &nbsp; &nbsp; sumSquares = sumSquares(i);&nbsp; &nbsp; &nbsp; &nbsp; numDiv = numdiv(i);&nbsp; &nbsp; &nbsp; &nbsp; System.out.println(i + "\t" + sumSquares + "\t\t" + numDiv);&nbsp; &nbsp; &nbsp; &nbsp; totalSquares += sumSquares;&nbsp; &nbsp; &nbsp; &nbsp; totalDiv += numDiv;&nbsp; &nbsp; }&nbsp; &nbsp; System.out.printf("Average sumSquares: %d - Average numDiv: %d", totalSquares/41, totalDiv/41);}注意:我已经对 41 除数进行了硬编码,因为 10 到 50 之间的数字也进行了硬编码。您应该将其具体化并for循环数字。
随时随地看视频慕课网APP

相关分类

Java
我要回答