これまで、私はExpenseItemというクラスを使って経費をモデル化することができました。このクラスは、属性の名前、量、頻度を使用して費用をモデル化します。属性は、そのクラスのプライベートメンバーとしてモデル化する必要があります。したがって、私はこれらの3つの引数を取るコンストラクタを使用しました。オブジェクトのトラブルメソッドを呼び出す - Java
私はトラブルクラスに次のメソッドを実装することだ:
annualTotal。 ExpenseItemオブジェクトの推定総経費を返すことになっています。それは量*周波数である必要があります。
私はExpenseItemからすべての金額と頻度を集めて合計を得ることができるので、メソッドを実装するのが難しいです。これまでのところ私は3を持っている:
ExpenseItem e1 = new ExpenseItem ("Coffee", 2.25 , 6);
ExpenseItem e2 = new ExpenseItem ("Food", 5.30 , 5);
ExpenseItem e3 = new ExpenseItem ("Gas", 20.00 , 2);
にはどうすれば... E1、E2、E3、E(n)のからダブルスを取り、それぞれの費用を掛ける方法を実装していますか?例えば以下、E1 annualTotal = 2.25 * 6
現在のコード:
public class ExpenseItem {
private String name;
public double amount;
public double frequency;
public double total;
public ExpenseItem(String name, double amount, double frequency) {
this.name = name;
setAmount(amount);
setFrequency(frequency);
}
public double annualTotal(double amount, double frequency){
double total= amount+frequency;
return total;
//System.out.printf("the total is:",total);
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setAmount(double amount){
this.amount = amount>=0 ? amount:0 ;
}
public double getAmount(){
return amount;
}
public void setFrequency(double frequency){
this.frequency = frequency>=0 ? frequency:0 ;
}
public double getFrequency(){
return frequency;
}
public static void main(String[] args) {
ExpenseItem e1 = new ExpenseItem ("Coffee", 2.25 , 6);
ExpenseItem e2 = new ExpenseItem ("Food", 5.30 , 5);
ExpenseItem e3 = new ExpenseItem ("Gas", 20.00 , 2);
System.out.println("Expense Item Amount Frequency\n");
outputInfo(e1);outputInfo(e2);outputInfo(e3);
}
private static void outputInfo(ExpenseItem e){
System.out.printf("%-15s\t%5.2f\t%5.0f\n",
e.getName(),e.getAmount(), e.getFrequency());
}
}
あなたは1つのExpenseItemからそれを得ることはできません - それは非常に面白い平均ではありません。 ExpenseItemのリストを作成して平均化する可能性が高くなります。 – duffymo
はい、すべての経費明細を保持する何らかのホルダークラス(たとえば、ExpenseAccount)を作成する必要があります。 ExpenseAccountでExpenseItemsを合計する方法を作成します。 – markspace