编译通过,但是不能输出最终结果,是哪里有问题吗?大佬求教。

晚兮_早 2018-09-20 11:14:40
部分代码如下:
public class Gymnastics implements computerInterface{
public double computerAverage(double x[]) { //实现接口,重写方法,注意这里要加上public,不然会报错。
double all = 0;
double max = 0;
double min = 0;
for(int i =0;i<=x.length;i++) {

if(x[i]<x[i+1]) {
max = x[i+1];
}
else max = x[i];
} //计算数组中的最大值
for(int i =0;i<=x.length;i++) {

if(x[i]<x[i+1]) {
min= x[i];
}
else min = x[i+1];
} //计算数组中的最小值
for(int i = 0;i<=x.length;i++) {

all = all + x[i];
}
double endscore = (all-max-min)/(x.length-2); //减去最大值最小值,得到平均值
return endscore;
}

}
输出语句在另外另一个主类里面,就是这个类出现了问题,自己弄不出来,求教!!!!
...全文
373 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
晚兮_早 2018-09-20
  • 打赏
  • 举报
回复
啊?一不小心越界了吗?!!!一脸懵逼的我。
nayi_224 2018-09-20
  • 打赏
  • 举报
回复
下标越界,比较也有问题
public class Gymnastics {
public double computerAverage(double[] x) {

double all = x[0];
double max = x[0];
double min = x[0];

for (int i = 1; i < x.length; i++) {
if(max < x[i]) {
max = x[i];
}
if(min > x[i]) {
min = x[i];
}

all += x[i];
}

double endscore = (all - max - min) / (x.length - 2);
return endscore;
}

public static void main(String[] args) {
Gymnastics aa = new Gymnastics();
double[] dd = {4, 1, 2, 3};
System.out.println(aa.computerAverage(dd));
}

}

50,499

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧