Java使用循环和数组查找平均值

时间:2015-08-27 15:56:50

标签: java arrays loops random

这是我遇到的Java问题,我对Java有点新鲜。

我必须:

  1. 生成随机分数

  2. 继续生成,直到总和大于1

  3. 然后我必须显示我生成了多少个数字

  4. 以下是我迄今为止的功能:

    numOfAvg[i] = numOffractions;

    我一直收到错误:{{1}} 而且我似乎无法将分数添加到总和中,直到它们通过1.

2 个答案:

答案 0 :(得分:1)

嗯,您的代码与您的要求无关。

你需要这样的东西:

public static double calcAvg(){//What is the numOfTimes variable?!
    double randNums[] = new double[] {.1,.2,.3,.4,.5,.6,.7,.8,.9}; //These can be define outside
    Random rand = new Random();
    List<Double> numbers = new LinkedList<Double>(); // This will have the list of numbers
    double sum = 0;
    while(sum<1){
       int randNum = rand.nextInt(randNums.length);
       numbers.add(randNums[randNum]);
       sum+=randNums[randNum];
    }
    for(Double d:numbers){//Print the numbers
       System.out.println(d);
    }
    System.out.println("Average: ", sum/numbers.size());
}

答案 1 :(得分:0)

希望在使用1,2,3调用函数calcAvg时使数组索引超出范围。 在calAvg方法中,您使用numOfTimes作为数组长度并访问超出长度范围的numofAvg变量。

需要根据您的要求重新审视逻辑。