Bis jetzt habe ich es geschafft, eine Ausgabe mit einer Klasse namens ExpenseItem zu modellieren. Diese Klasse modelliert eine Ausgabe unter Verwendung der Attribute Name, Menge und Häufigkeit. Die Attribute sollten als private Mitglieder dieser Klasse modelliert werden. Daher habe ich einen Konstruktor verwendet, der diese drei Argumente annimmt.Probleme beim Aufruf der Methode für Objekt - JAVA
Ich habe Probleme mit den folgenden Methoden in die Klasse der Umsetzung:
annualTotal; was den geschätzten Gesamtaufwand für das ExpenseItem-Objekt zurückgeben soll. es muss die Menge * Häufigkeit sein.
Ich habe Schwierigkeiten bei der Implementierung der Methode, damit ich es bekommen kann, um alle Beträge und Häufigkeiten von ExpenseItem zu erfassen und die Summen zu summieren. Bisher habe ich nur 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);
Wie implementiere ich eine Methode, die das Doppel von e1 nimmt, e2, e3, e (n) ... und multipliziert die Kosten für jeden? zum Beispiel e1 annualTotal = 2,25 * 6.
Aktuelle Code unten:
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());
}
}
Sie werden es nicht von One ExpenseItem bekommen - das ist kein sehr interessanter Durchschnitt. Sie werden wahrscheinlich eine Liste von Ausgabenelementen erstellen und diese berechnen. – duffymo
Ja, Sie müssen eine Art Inhaberklasse erstellen - zum Beispiel "ExpenseAccount" - die alle Ihre Ausgabenpositionen enthält. Dann machen Sie eine Methode, um die ExpenseItems auf dem ExpenseAccount zusammenzufassen. – markspace