这是我遇到的Java问题,我对Java有点新鲜。
我必须:
生成随机分数
继续生成,直到总和大于1
然后我必须显示我生成了多少个数字
以下是我迄今为止的功能:
numOfAvg[i] = numOffractions;
我一直收到错误:{{1}} 而且我似乎无法将分数添加到总和中,直到它们通过1.
答案 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变量。
需要根据您的要求重新审视逻辑。