所以目前我得到一个“Sum = 0.0”和一个Mean等于“NaN”,在对很多消息进行了反击之后再次警告“可能从double转换为int”.我认为代码最终会占用双倍,但仍然没有按照我的意愿行事:从命令行获取值,将它们放入数组中,对它们求和,然后计算均值.
错误所在的任何想法?
public class StudentMarks{
protected double[] marks;
//create an array filled with double values
public StudentMarks(double[] marks){
this.marks = new double[0]; //set the default array size
}
public void setMarks(){
this.marks = marks;
}
public void getArray(){
//one can only print arrays using loops..
//took me a little to realise that erm.
for(int i=0; i
最佳答案
代替
原文链接:https://www.f2er.com/java/437239.htmlthis.marks = new double[0];
使用
this.marks = marks;
您当前正在将marks成员变量指定为零长度数组而不是参数,因此元素之和为零,而marks.length为零,因此calSum()/ marks.length为0.0 / 0.0,其中被定义为NaN.