我对 ArrayList 中的 if 条件有疑问,请参阅代码:
public class Test {
public static void main(String[] args) {
ArrayList<BankAccount>accounts=new ArrayList<BankAccount>();
BankAccount Mary=new BankAccount(1,50);
BankAccount Lucy=new BankAccount(2,100);
BankAccount Lily=new BankAccount(3,20);
BankAccount Pete=new BankAccount(4,200);
BankAccount Paul=new BankAccount(5,30);
accounts.add(Mary);
accounts.add(Lucy);
accounts.add(Lily);
accounts.add(Pete);
accounts.add(Paul);
double min = accounts.get(0).getBalance();
int poorestPerson = accounts.get(0).getAccountNumber();
for(BankAccount a:accounts) {
if(a.getBalance()<min) {
poorestPerson=a.getAccountNumber();
}
}
System.out.println("Poorest person is "+poorestPerson);
}
}
结果总是 5,但正确的打印应该是 3,当我添加时:
poorestPerson=a.getAccountNumber();
**min=a.getBalance();**
它打印出正确的答案,我的问题是这个命令如何改变结果?干杯。
我已经了解这个命令是如何工作的,但是如果我不写min=a.getBalance();有人可以解释一下吗?,条件如何工作以及为什么打印最后一个元素?