セッターにif/else条件しかない場合、このプログラムは機能しませんでした。コンストラクター内でも使用する必要があるというヒントを得ました。誰かが私に説明できますか..なぜですか?
別の質問:if / elseステートメントをコンストラクターまたはセッター内に配置しますか?
//コンストラクタ
public Invoice(String partNumber, String partDescription, int quantity,
double pricePerItem) {
super();
this.partNumber = partNumber;
this.partDescription = partDescription;
if (quantity <= 0)
quantity = 0;
else
this.quantity = quantity;
if (pricePerItem <= 0)
pricePerItem = 0.0;
else
this.pricePerItem = pricePerItem;
}
//セッター
public void setQuantity(int quantity) {
if (quantity <= 0)
this.quantity = 0;
else
this.quantity = quantity;
}
public double getPricePerItem() {
return pricePerItem;
}
public void setPricePerItem(double pricePerItem) {
if (pricePerItem != 0.0)
this.pricePerItem = 0.0;
else
this.pricePerItem = pricePerItem;
}