Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 3个方法中的1个出现数组索引越界异常_Java_Arrays - Fatal编程技术网

Java 3个方法中的1个出现数组索引越界异常

Java 3个方法中的1个出现数组索引越界异常,java,arrays,Java,Arrays,这应该是一个相当简单的家庭作业,但我已经花了一段时间在上面了。。。执行时,它应该只填充一个数组并找到平均值和标准偏差。我得到一个越界异常,但仅在ArrayDiviation方法中。任何指示都将不胜感激 import java.util.Scanner; import java.util.Random; public class StandardDeviation { //declare global variables final static int ELEMENTS = 100; p

这应该是一个相当简单的家庭作业,但我已经花了一段时间在上面了。。。执行时,它应该只填充一个数组并找到平均值和标准偏差。我得到一个越界异常,但仅在ArrayDiviation方法中。任何指示都将不胜感激

import java.util.Scanner;
import java.util.Random;

public class StandardDeviation
{
  //declare global variables
final static int ELEMENTS = 100;

public static void main(String [] args)
{
     //declare variables   
  final int RANGE = 500;
  int[] numList = new int[ELEMENTS];

  Random rand = new Random();

     //populate array
  for(int count = 0; count < ELEMENTS; count++)
  {
     numList[count] = rand.nextInt(RANGE) + 1;
  }

     //call printArray
  printArray(numList);

     //call arrayAverage
  double mean = arrayAverage(numList);
  System.out.println("\nMean: " + mean);

     //call arrayDeviation
  double standardDeviation = arrayDeviation(numList, mean);
  System.out.print("Standard deviation: " + standardDeviation);



} //end main



  //output 10 elements per line
public static void printArray(int[] list)
{
  final int ELEMENTS_PER_LINE = 10;

  for(int count = 0; count < ELEMENTS; count++)
  {
     System.out.printf("%-4d", list[count]);
     if ((count + 1) % ELEMENTS_PER_LINE == 0)
     {
        System.out.println();
     }
  } 
}


  //returns average as double
public static double arrayAverage(int[] list)
{
  int sum = 0, count;
  double average;

  for(count = 0; count < ELEMENTS; count++)
  {
     sum = sum + list[count];
  }
  average =(double) sum / count;

  return average;
}

  //calculate and return standard deviation
public static double arrayDeviation(int[] list, double mean)
{
  double sum = 0.0, standardDeviation;
  int count;

  for(count = 0; count < ELEMENTS; count++);
  {
     sum = sum + Math.pow((list[count] - mean), 2);
  }

  standardDeviation = Math.sqrt(sum / 2);

  return standardDeviation;
}

} //end class
import java.util.Scanner;
导入java.util.Random;
公共类标准差
{
//声明全局变量
最终静态int元素=100;
公共静态void main(字符串[]args)
{
//声明变量
最终整数范围=500;
int[]numList=新的int[元素];
Random rand=新的Random();
//填充数组
for(int count=0;count
盯着这段代码看了大约10分钟,我不明白它为什么会出现
异常

public static double arrayDeviation(int[] list, double mean)
{
  double sum = 0.0, standardDeviation;
  int count;

  for(count = 0; count < ELEMENTS; count++); //This semicolon is your 
                                             //problem
  {
     sum = sum + Math.pow((list[count] - mean), 2);
  }
公共静态双数组偏差(int[]列表,双平均值)
{
双和=0.0,标准差;
整数计数;
for(count=0;count
int[]list
长度是100吗?是的。以前,我用countArrayIndexOutOfBoundsException
。他只有一个导致问题的分号。这是编译错误分号dOesn没有给出ArrayOutOfIndex异常,但它导致了异常,因为
count
仍然未定义,所以
list[count]
为您提供异常,因为
for
语句skipped@Luminous_Dev我猜你投了反对票?我用Netbeans验证了答案,它给出了均值和标准差,但我投了反对票?谢谢!