所以我有两种方法:public double calcAvg() { double dSum; dSum=iTest1+iTest2+iTest3/3; System.out.print(dSum); return dSum; }public void setTestScores(int iTest1, int iTest2, int iTest3) { if(iTest1>0) { this.iTest1=iTest1; } if(iTest2>0) { this.iTest2=iTest2; } if(iTest3>0) { this.iTest3=iTest3; }我试图弄清楚为什么在输入具有如下值的变量后将 calcAvg()的值设置为 0:iTest1, iTest2, iTest3Methods.setTestScores(90,78,83);
2 回答
慕姐4208626
TA贡献1852条经验 获得超7个赞
您没有发布Methods是什么,但我假设它是 的一个实例Student。之所以iTest1, iTest2, iTest3为 0 是因为您在第一个中设置值Student,但calcAvg()在第二个中调用,其中变量的默认值为 0。尝试
public static void main(String[] args)
{
Student student = new Student();
student.setTestScores(90, 78, 83);
student.calcAvg();
}
PIPIONE
TA贡献1829条经验 获得超9个赞
问题出在 main 方法中,您在实例中设置变量并在单独的实例上计算平均值,尝试下面的代码它将起作用:
public static void main(String[] args)
{
Student std = new Student();
std.setTestScores(90,78,83);
std.calcAvg();
}
添加回答
举报
0/150
提交
取消