我需要找到多个作业值的偏差。为了做到这一点,我需要存储一个变量作业,这是一个for循环,所以它每次执行时都会删除它自己。另外,为了存储单独的作业分数值,我需要的变量数目是未知的,所以我不能只列出变量列表。我想我需要做的是做一个数组列表,但我不知道如果我做对了。将变量存储在数组中?
这里是包括我已经建立的阵列的方法的代码...
public double computeHomeworkDeviation(int homework){
int[] homeworkScore = new int[totalStudents];
if(computeHomeworkDeviationCounter < totalStudents){
homeworkScore[computeHomeworkDeviationCounter] = homework;
computeHomeworkDeviationCounter++;
}
else{
for(int k = 1; k <= totalStudents; k++){
top += Math.pow(homeworkScore[totalStudents - k] - homeworkAverage, 2);
}
homeworkDeviation = Math.sqrt(top/totalStudents);
}
return homeworkDeviation;
}
这个方法被调用来一个for循环并调用需要被存储在作业变量的自变量一个数组列表。我有什么不工作,我做错了什么? (我不相信阵列值甚至被存储)
编辑: 我现在分成2种方法。
setArrayMethod ...
public void setHomeworkArray(int homework){
homeworkScore[l] = homework;
l++;
}
computeHomeworkDeviationMethod ...
public double computeHomeworkDeviation(int homework){
for(int k = 1; k <= totalStudents; k++){
top += Math.pow(homeworkScore[totalStudents - k] - homeworkAverage, 2);
}
homeworkDeviation = Math.sqrt(top/totalStudents);
return homeworkDeviation;
}
我仍然得到ArrayOutOfBoundsException错误。
'我有什么不工作,'不工作在哪个意义上。错误?错误的输出?什么 – Prateek
我得到了家庭作业偏差的错误值,我相信它与将作业值存储在数组中有关。 –
move'int [] homeworkScore = new int [totalStudents];'函数外部 –