我有一個數組列表,可能包含組件或複合材料,每個組件或複合材料都有一個稅收字段,我希望獲取該值。此方法的目的是獲取所有組件而在陣列list.A部件複合材料還可以包含複合。問題是,當一個組件包含複合,我的方法不會在複合遞歸方法
ArrayList allprinceSubjects = new ArrayList();
public double calculateTaxDueByComponents(){
double totaltaxdue=0;
Iterator iterator = vassalsanddukes.iterator();
while(iterator.hasNext()){
RiruritaniaSubjects vassalandduke=(RiruritaniaSubjects) iterator.next();
totaltaxdue+=vassalandduke.getTaxDue();
vassalandduke.calculateTaxDueByComponents();
}
return totaltaxdue;
}
其他人已經回答了,但到底是什麼'getTaxDue()'做什麼?將邏輯從'calculateTaxDueByComponents'移動到'getTaxDue'並且只有一個方法似乎更有意義。或者至少在'getTaxDue'中調用'calculateTaxDueByComponents',這樣你就不需要每次都明確地做兩件事情。 – Groo 2012-01-13 11:31:31