2012-04-10 12 views
-2

Ich habe Probleme, eine Methode zu schreiben, um die Summe einiger Aufträge für ein Universitätsprojekt zu berechnen. Eclipse sagt, es gibt einen Fehler, der nur angibt, dass + ein ungültiger AssignmentOperator ist.Hinzufügen von Doppel zu einander

Einige Details:

  • Fragen keine Privatsphäre gibt.
  • Menge ist ein Int.
  • getPrice() gibt ein Doppel zurück.
  • Gesamt ist ein Doppel

Es ist wahrscheinlich etwas wirklich einfach, aber aus diesem Grund, die Suche um eine Antwort ist ziemlich schwierig.


public double calculateTotal(){ 
    for(OrderItem currentItem:items){ 
     for(int i=0;i<currentItem.quantity;i++){ 
      total+currentItem.product.getPrice(); 
     } 
    } 
    return total; 
} 

Antwort

7

Ich glaube, Sie brauchen +=:

public double calculateTotal(){ 
    for(OrderItem currentItem:items){ 
     for(int i=0;i<currentItem.quantity;i++){ 
      total += currentItem.product.getPrice(); 
     } 
    } 
    return total; 
} 

In Ihrem Beispiel Sie zwei Zahlen nur Addition und mit dem Ergebnis nichts zu tun. Sie müssen das Ergebnis einer Variablen zuweisen. += ist eine Abkürzung für total = total + currentItem.product.GetPrice();

Sie müssen möglicherweise auch die total Variable initialisieren; aber vielleicht ist es anderswo in deiner Klasse.

+0

+1 für die schnellste :) –

+0

Ordnung zu sein, das funktioniert, vielen Dank! – gideonparanoid

+0

Ja, ich habe die Variable bereits im Konstruktor initialisiert, Prost. – gideonparanoid

1

Sie können nicht einfach zwei Werte hinzufügen, ohne etwas mit dem Ergebnis zu tun. Ich vermute, Sie

gemeint
 total += currentItem.product.getPrice(); 
1

Statt + Verwendung +=:

total += currentItem.product.getPrice();