close







簡單Java問題,急,一天結束發問




立即點擊


classEmployee{privateEmployeeboss;privateStringID;privatedoubletotal_bonus;Employee(StringID){total_bonus=0.0;this.ID=ID;}Employee(StringID,Employeeboss){total_bonus=0.0;this.ID=ID;this.boss=boss;}publicvoidaddBounus(doublevalue){...顯示更多classEmployee{privateEmployeeboss;privateStringID;privatedoubletotal_bonus;Employee(StringID){total_bonus=0.0;this.ID=ID;}Employee(StringID,Employeeboss){total_bonus=0.0;this.ID=ID;this.boss=boss;}publicvoidaddBounus(doublevalue){total_bonus+=value*0.1;if(boss!=null)boss.addBounus(total_bonus);}publicdoublegetBonus(){returntotal_bonus;}publicStringtoString(){returnID;}}classTest2{publicstaticvoidmain(Stringargs[]){Employeea1=newEmployee("001");Employeea2=newEmployee("002",a1);Employeea3=newEmployee("003",a2);Employeea4=newEmployee("004",a3);a4.addBounus(10000);a2.addBounus(20000);System.out.println(a1+":"+a1.getBonus()+" "+a2+":"+a2.getBonus()+" "+a3+":"+a3.getBonus()+" "+a4+":"+a4.getBonus()+" ");}}各位高手好,我有一個很簡單的問題解不開...程式結果是001:202.0002:2010.0003:100.0004:1000.0但我的理解能力是,怎麼不是...001:201.0002:2010.0003:100.0004:1000.0我想好久,也測試過,但就是不對,請高手幫小弟解個答,謝謝~





首先 a4.addBounus(10000); 這一行執行時 001 得到 1 元,002 得到 10 元。接著 a2.addBounus(20000); 這一行執行時,002 得到 2000 元,加上原本的 10 元,共計 2010 元,而 001 是用這個數值來計算 bonus,所以 001 得到 201 元,加上原有的 1 元,共計 202 元。








以上文章來自奇摩知識家,如有侵犯請留言告知


https://tw.answers.yahoo.com/question/index?qid=20120106000010KK02919

EAAF9F75B34A6387
arrow
arrow

    百萬小學 發表在 痞客邦 留言(0) 人氣()