gpt4 book ai didi

java - 对错误 :Exception in thread "main" java. lang.ArrayIndexOutOfBoundsException : 0 at Main. main(Main.java:25) 感到困惑

转载 作者:行者123 更新时间:2023-12-02 04:38:18 32 4
gpt4 key购买 nike

我知道以前曾有人问过有关此错误的问题,但我的情况与其他人不同。我正在编写计算数据集的平均值、方差和标准差的代码。编译代码时我没有收到任何错误,但是当我尝试运行代码时,我收到如下错误: Exception in thread "main"java.lang.ArrayIndexOutOfBoundsException: 0 在 Main.main(Main.java:25)

/**   
* Main class of the Java program.
*
*/

public class Main {

public static void main(String[] args) {
int sum = 0;
double xBar = 0;
double [] dataSet = {1,2,3,4}; // add data here
int xLenght = dataSet.length;
double [] diffrenceSquared={};
double devSum = 0;
double variance = 0;
double standardDeviation = 0;
for (double n: dataSet)
{
sum += n;
}
xBar = sum/xLenght;

for (int i=0; i<dataSet.length; i++)
{
diffrenceSquared[i] = (xBar-dataSet[i])*(xBar-dataSet[i]);
}
for (double n:dataSet)
{
devSum += n;
}
variance = devSum/xLenght;

standardDeviation = java.lang.Math.sqrt(variance);
System.out.println("x bar ="+xBar);
System.out.println("variance ="+ variance);
System.out.println("Standard Deviation ="+ standardDeviation);
}
}

请帮助我!

最佳答案

您已使用以下声明将 differrenceSquared 声明为零长度数组:

double [] diffrenceSquared={};

这意味着没有要分配的元素,并且每个索引都超出范围。

您试图在以 dataSet 的长度为界的循环中将元素分配给 diffrenceSquared,因此请将其声明为该长度。

double[] diffrenceSquared = new double[dataSet.length];

关于java - 对错误 :Exception in thread "main" java. lang.ArrayIndexOutOfBoundsException : 0 at Main. main(Main.java:25) 感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30492583/

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