【发布时间】:2016-07-23 07:25:32
【问题描述】:
我必须创建要使用其他人拥有的主类来实现的类,并且由于某种原因我没有得到正确的输出,我不确定这个错误来自哪里。
预期输出:
中位数 = 44.5
平均值 = 49.300
标准差 = 30.581
public class StatPackage {
int count;
double [] scores;
StatPackage() {
count = 0;
scores = new double[500];
}
public void insert (double value) {
if (count < 500){
scores[count] = value;
++ count;
}
}
public double Mean () {
double sum = 0;
//For loop for calculating average or mean
for(int i = 0; i < count; i++){
sum += (scores[i]);
}
double average = sum/count;
return average;
}
public double Median() {
int min;
int tmp;
int size;
for (int i = 0; i < count; i ++)
{
min = i;
for (int pos = i + 1; pos < count; pos ++)
if (scores [pos] < scores [min])
min = pos;
tmp = (int)scores [min];
scores [min] = scores [i];
scores [i] = tmp;
}
double median = 0;
if (count % 2 == 0){
median = (scores[scores.length/2-1] + scores[scores.length/2])/2;
}
else {
median = (scores[((scores.length/2))]);
}
return median;
}
public double Variance () {
double variance = 0;
double sum = 0;
//For loop for getting the variance
for(int i = 0; i < count; i++){
sum += scores[i];
variance += scores[i] * scores[i];
}
double varianceFinal = ((variance/count)-(sum*sum)/(count*count));
return (varianceFinal);
}
public double StdDev (double variance) {
double sum = 0;
for(int i = 0; i < count; i++){
sum += scores[i];
variance += scores[i] * scores[i];
}
double varianceFinal = ((variance/count)-(sum*sum)/(count*count));
return Math.sqrt(varianceFinal);
}
【问题讨论】:
-
但是您不想向我们显示错误堆栈跟踪以帮助定位问题?懒惰
-
你用什么数据来得到预期的结果???
-
我不是懒惰看不到错误,因为它来自我将代码放入的其他代码,我没有得到另一个输入给我的输入程序。
-
首先,你得到了什么输出,因为它不符合预期?其次,这基本上是stackoverflow.com/questions/36389405/…的复制品吗?对于我个人的启迪,是哪所大学给了这个任务?
-
如果主类没有告诉你堆栈跟踪以便你可以找到问题,那么它写得不好。您必须与编写它的人交谈并告诉他们修复它。
标签: java arrays class exception