java - 如何创建包含 100 个随机整数的一维数组并求平均值、标准差和方差?

标签 java arrays mean standard-deviation variance

我尝试过这样做,但我认为我做错了什么。我是一名初级程序员,我真的需要这方面的帮助。我觉得我已经接近答案了,但我不确定我的程序出了什么问题。我尝试通过对方差结果求平方根来获得标准差来检查我的答案,但它们不匹配。

    import java.util.Random;
    public class Lab6 {

    public static void main(String[] args) {
    System.out.println("The Average Value is:"+avgValue());
    System.out.println("The Standard Deviation is:"+stdDev());
    System.out.println("The Variance is:"+Var());
    }

    public static int randomFill(){

    Random rand = new Random();
    int randomNum = rand.nextInt();
    return randomNum;
    }

    private static int[] anArray;

    public static int[] list() {
    anArray = new int[100];
    for(int i=0;i<anArray.length;i++)
    {
    anArray[i] = randomFill();
    }
    return anArray;
    }

    private static int sum;

    public static int avgValue() {
    int []a = list();
    for (int e:a)
    {
    sum +=e;
    }
    int n=100;
    sum=sum/n;
    return sum;
    }

    private static int pwr;

    public static int stdDev() {
    int []b = list(); 
    int dev=0;
    for (int e:b)
    {
    dev=(e-sum)+dev;
    }
    pwr=(dev*dev)/99;
    double root=Math.sqrt(pwr);
    return pwr;
    }

    public static int Var() {
    int c= pwr; 
    int opp=c*c; 
    return opp;
    }

    }

最佳答案

自从我做统计以来已经有一段时间了,但我可以指出你的 avgValue() 方法和你的 stdDev() 正在针对两个不同的 int 数组进行计算。当你调用 list() 时,你每次都会得到一个不同的整数数组并覆盖 anArray。

我建议在 main 方法中创建数组,然后将其作为参数传递给其他方法。如果你想走你现在的路线,改变“int []b = list();”到“int []b = anArray;”你应该没问题。

总的来说,我认为您接下来可能想尝试研究方法参数和变量范围来改进您的 Java。继续开卡车;它变得更容易。

关于java - 如何创建包含 100 个随机整数的一维数组并求平均值、标准差和方差?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53676568/

相关文章:

将数组转换为函数参数

javascript - 在javascript中复制对象数组

arrays - 如何将 N 维数组的最后两个维度作为二维数组?

r - 为什么 mean() 和 mean(aggregate()) 返回不同的结果?

java - Python XML + Java XML 互操作性

java - 在下面的代码中将 Big Decimal 初始化为 -99 的含义

java - 如何使用 Java、Maven 和 Spring 创建和测试 SOAP 和 HTTP Web 服务

java - 如何将 ANTLR 4 生成的 AST 翻译成它的源代码

performance - 为什么 `colMeans()` 和 `rowMeans()` 函数比使用带有 `lapply()` 的均值函数更快?

MEAN.JS : How to create of 1 model that requires another