gpt4 book ai didi

java - 标准差 java,真方程

转载 作者:太空宇宙 更新时间:2023-11-04 12:07:30 25 4
gpt4 key购买 nike

这是我的全部代码。我对标准差公式有疑问。我使用这些值运行程序:

项目数量:5

项目:16 25 81 80 24

我应该得到这个输出:

平均值:    45.20

标准差:    32.41

小于平均值:3

数组未按顺序排列

相反,我得到以下输出:

数组未按顺序排列

平均:45.20

标准差:55.60

小于平均值:3

import java.text.DecimalFormat;
import java.util.Scanner;
public class array {

public static void main(String[] args) {
Scanner input = new Scanner(System.in);
DecimalFormat df = new DecimalFormat ("#.00");
System.out.println("How many values do you want?");
int num = input.nextInt();
if (num< 1 || num > 100)
{
System.out.println("Error");
System.exit(0);
}
int[] array= valueArray(input, num);
double o= average(num, array);
double standdev = getStdDev(array, num);
int lessThanAvg = lessAvg ( array, num, o );
boolean sorted=isArraySorted(array, num);
System.out.println("Average: " + df.format(o));
System.out.println("Std Dev: " + df.format(standdev));
System.out.println("Less than Avg: " + lessThanAvg);
}

public static int[] valueArray (Scanner input, int num )
{
int[] values = new int[100];
System.out.println("What numbers do you want to put in?");
for (int j = 0; j < num; j++)
{
values[j]=input.nextInt();

}
return values;
}
public static double average ( int num ,int[] values)
{
double avg=0.0;
for (int i = 0; i < num; i++)
{
avg = avg+values[i];
}

return avg/num;
}

public static double getStdDev (int [] values, int num)
{
double avg = 0.0;
double sum = 0 ;
for (int i = 0; i < num - 1; i++)
{

sum = Math.sqrt ((Math.pow((values[i]-avg),2) + Math.pow((values[num-1]),2)) / num-1);


}
return sum;

}
public static int lessAvg ( int [] values, int num, double avg )
{
int counter = 0;
for (int i = 0; i < num; i++ )
{
if (values[i] < avg)
{
counter = counter + 1;
}
}
return counter;
}
public static boolean isArraySorted (int [] values, int num)
{
for (int i = 0; i < num - 2; i++)
{
if (values[i]>values[i+1])
{
System.out.println("Array is not in sorted order");
return false;

}
}

System.out.println("Array is in sorted order");
return true;
}
}

最佳答案

获取标准差

  1. 找出平均值。

  2. 然后对于数组中的每个数字减去平均值并平方结果。

  3. 然后计算出这些平方差的平均值

  4. 求其平方根。

作为引用,您可以查看此 Post

关于java - 标准差 java,真方程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40212470/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com