До сих пор мне удалось моделировать расходы с помощью класса ExpenseItem. Этот класс моделирует расход, используя имя, количество и частоту атрибутов. Атрибуты должны быть смоделированы как частные члены этого класса. Таким образом, я использовал конструктор, который принимает эти три аргумента.Имея метод вызова вызова для объекта - 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, е (п) ... и умножает расходы для каждого из них? для примера, 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());
}
}
Вы не получите его от ONE ExpenseItem - это не очень интересный средний показатель. Скорее всего, вы создадите список ExpenseItems и усреднёте их. – duffymo
Да, вам нужно сделать какой-то класс владельца - например, 'ExpenseAccount' - который содержит все ваши статьи расходов. Затем сделайте метод для суммирования ExpenseItems на ExpenseAccount. – markspace