2017-12-07 11 views
0

Ich habe diese Zuordnung zu einer Klasse, die Produkt in einem Geschäft erstellt.Parameteränderung mit Prozent

Eine der Anforderungen ist eine Methode, die den Preis nach einem Rabatt oder Erhöhungsprozentsatz ändert.

Dies ist die Methode:

public void changePrice(double percent) { 

    if (percent > 0) { 
     _price+= ((_price * percent) /100); 
    } 
    else if (percent < 0) { 
     _price-= ((_price * percent) /100); 

    } 
    else { 
    } 
} 

es aus irgendeinem Grund nicht negative Zahlen nicht erkennt, und sie wie positiv behandelt. Ich habe ein paar Variationen davon mit den gleichen Ergebnissen versucht.

+0

Sie brauchen nicht Ihre 'if'-" else "," _price + = ((_price * percent)/100); "sollte für beide Fälle funktionieren. – Berger

Antwort

0

Die if, else, wenn das Minus in Prozent negiert

public void changePrice(double percent) { 
    _price+= ((_price * percent) /100); 
} 

Wenn Prozent + 10% der Preis um 10% erhöhen würde ähnlich, wenn Prozent -10% ist, wird der Preis um 10% reduzieren

+0

wow vielen dank! scheint jetzt so offensichtlich, hehe –