我是新來的編碼,因此懷疑。 主要目標是獲得項目的最低價格(包括折扣)。 以下代碼正常工作,但只顯示最低價格忽略折扣。 如何計算折扣?Java折扣計算
Q
Java折扣計算
0
A
回答
0
你的getLeastPriceItem
函數有一點邏輯錯誤。
問題#1:
for(int i=1;i<item.length;i++)
第一索引應該是0而不是1,否則你沒有處理的第一項。
問題2:
if (item[i].getItemPrice() < min)
你不包括折扣價進行比較。
假設折扣是整數,而不是百分比則代碼應該像double afterDiscount = item[i].getItemPrice() - item[i].getItemDiscount();
問題3:
public static double getLeastPriceItem
與其說是一個問題,但我會建議返回改爲實體Item
。
所以這裏是我提出的解決方案;
public static void main(String[] args) {
Item[] item= new Item[5];
item[0] = new Item(1, "a", 100.0, 20.0);
item[1] = new Item(2, "b", 80.0, 30.0);
item[2] = new Item(3, "c", 300.0, 40.0);
item[3] = new Item(4, "d", 400.0, 390.0);
item[4] = new Item(5, "e", 500.0, 60.0);
Item cheapest = getLeastPriceItem(item);
System.out.println("Least item price: "+ cheapest.getItemPrice() + " with discount of: " + cheapest.getItemDiscount());
}
public static Item getLeastPriceItem(Item[] item)
{
double currMin = Double.MAX_VALUE;
Item cheapestItem = null;
for(int i=0;i<item.length;i++)
{
double afterDiscount = item[i].getItemPrice() - item[i].getItemDiscount();
if(afterDiscount < currMin)
{
currMin = afterDiscount;
cheapestItem = item[i];
}
}
return cheapestItem;
}
輸出:
最商品價格:400.0用優惠:390.0
這裏的算法是跟蹤當前最廉價的商品的價值,也是最便宜的項目目標。循環訪問數組中的所有項目並相應地進行比較,然後返回最便宜的項目對象。
返回項目是一個更優雅的解決方案,因爲一旦您找出最便宜的對象的實例,您可以根據其屬性進行/打印任何您喜歡的對象。例如。發現它有多少折扣價值等。
0
在您比較min的價格的代碼塊中,您可以僅考慮每個項目的折扣。
嘗試更換:
if (item[i].getItemPrice() < min)
用,
if (item[i].getItemPrice() * item[i].getItemDiscount() < min)
希望幫助!我已經使用Java已經有一段時間了:)
+0
它仍然無法正常工作。仍然忽略折扣價格。 – macboyme95
相關問題
- 1. 計算折扣
- 2. 來計算折扣?
- 3. 在VB.NET中計算折扣
- 4. 使用jquery計算折扣
- 5. Magento折扣計算1p關
- 6. 計算折扣價格
- 7. Gridview中的折扣計算
- 8. 折扣計算不正確
- 9. Java Switch Statement,折扣折扣
- 10. 計算給定折扣價格的折扣百分比
- 11. 折扣公式不計算折扣低於5%
- 12. javascript計算合計10%折扣
- 13. 貝寶金額計算和折扣:(
- 14. 折扣產品的錯誤計算
- 15. php計算折扣或稅額
- 16. 在Asp Dot Net中的折扣計算
- 17. 計算訂單總額:應用折扣
- 18. 幫助計算稅和折扣
- 19. 計算每年2%的折扣係數
- 20. 計算谷歌地圖的折扣
- 21. Django:項目可擴展折扣計算
- 22. 燼控制器:計算財產不重新計算折扣注入屬性
- 23. 從Netsuite Suitecommerce Advanced中的價格水平計算折扣
- 24. 計算Oracle SQL Developer的折扣百分比
- 25. 計算時間範圍內的折扣時間數
- 26. 計算sql server中淨額的折扣價格?
- 27. 折扣後Magento錯誤的增值稅計算
- 28. 在公式中計算折扣後的淨額
- 29. 尋找計算複雜折扣的模式/最佳實踐
- 30. 使用c中的下拉列表計算變量折扣#
使用您提出的解決方案來運行代碼,但獲得低於輸出。 '0 CURR至少項目的價格1.7976931348623157E308 CURR至少項目的價格80.0 CURR至少項目的價格70.0 CURR至少項目的價格60.0 CURR至少項目的價格50.0 最項目的價格100.0' – macboyme95
@ macboyme95 - 爲我在那裏得到的調試聲明道歉。我已經更新瞭解決方案,將其刪除,並使這些產品的定價更加明顯,而不是對所有產品使用100.0值。還包括樣本輸出到解決方案。 –
是的。它現在正確運行。最後一個查詢。如果貼現率是百分比呢? – macboyme95