我是新来的编码,因此怀疑。 主要目标是获得项目的最低价格(包括折扣)。 以下代码正常工作,但只显示最低价格忽略折扣。 如何计算折扣?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