这听起来有点奇怪,但是有人可以解释一下下面的循环如何获得最低价值
Decimal LowestPrice;
//for loop to find the smallest value
for(Integer i = 0;i<leadingPrice.size();i++){
//no idea how the below line is getting the lowest value
if(LowestPrice == null || leadingPrice.get(i) < LowestPrice){
lowestprice = leadingPrice.get(i);
}
LeadingPrice是一个小数列表,上述循环将最小值分配给变量lowestprice,有人可以解释一下上述循环的工作方式吗 预先谢谢你。
答案 0 :(得分:0)
undefined
它使用if(LowestPrice == null || leadingPrice.get(i) < LowestPrice){
lowestprice = leadingPrice.get(i);
}
检查是否分配了LowestPrice。如果分配了LowestPrice,则检查当前索引(Lowestprice == null
)是否小于LowestPrice。如果leadingPrice.get(i)
较小,则将其分配给LowestPrice
答案 1 :(得分:0)
第一次通过循环,LowestPrice为空(我不喜欢这种假设,但这是编写代码的方式),因此它将LowestPrice设置为数组LeadPrice中的第一个条目。随后的每个for循环中,都会将LowestPrice与LeadingPrice数组中的下一个条目进行比较。如果新条目较低,则LowestPrice将更新为新条目。如果不是,它将保持当前状态。经过整个阵列的完整行程后,您可以保证获得最低的价格。
一种更简洁的陈述方式是:假设第一个条目最低,然后通读整个数组以寻找较低的价格。每次找到一个,您就会替换当前的最低候选人。