drenu83
1
ArrayList<Double> expenses = new ArrayList<Double>();
expenses.add(74.46);
expenses.add(63.99);
expenses.add(10.57);
expenses.add(81.37);
double mostExpensive = 0;
for(double expense : expenses){
if(expense>mostExpensive){
mostExpensive=expense;
} }
System.out.println(mostExpensive);I
if expense is one of the times of expenses and in the if statement every item is bigger than 0
Why mostExpensive=expensive means 81.37?
mostExpensive
doesn’t stay zero, once the if condition is true, mostExpensive
is set to new most expensive item.
it would look like this:
if (74.46 > 0)
this is true, so most expensive is now set to 74.46, so for the next iteration of the loop the comparison looks like:
if (63.99 > 74.46)
this one is false, so mostExpensive
isn’t updated.
and so forth, this way you end up with the most expensive item.
2 Likes