所以我有兩種方法: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
提交
取消