gpt4 book ai didi

java - For循环解释

转载 作者:行者123 更新时间:2023-12-02 06:11:34 25 4
gpt4 key购买 nike

我有两个数组列表;

        ArrayList<BankAccount> bankAccounts = new ArrayList<>();

bankAccounts.add(new CheckingAccount ("chk001", 500.00)) ;
bankAccounts.add(new SavingsAccount ("sav001", 5000.00)) ;
bankAccounts.add(new LineOfCreditAccount("loc001",36000.00)) ;
bankAccounts.add(new CheckingAccount ("chk002", 299.00)) ;
bankAccounts.add(new SavingsAccount ("sav002", 9049.00)) ;
bankAccounts.add(new LineOfCreditAccount("loc002",10000.00)) ;


ArrayList<Transaction> transactionList = new ArrayList<>() ;


transactionList.add(new DepositTransaction ("chk001", 500.00)) ;
transactionList.add(new DepositTransaction ("sav001", 5000.00)) ;
transactionList.add(new DepositTransaction ("loc001", 350.00)) ;

transactionList 有一个名为 applyTransaction()

的方法

现在,我正在访问 bankAccounts 和 transactionList 中的每个元素,如下所示

BankAccount test = bankAccounts.get(0)
,test1 = bankAccounts.get(1);
Transaction t0 = transactionList.get(0)
,t1 = transactionList.get(1)
,t3 = transactionList.get(3);

并将每笔交易应用到相应的银行账户,如下所示

t0.applyTransaction(test);
t3.applyTransaction(test);
t1.applyTransaction(test1);

如何将所有这些放入一个 for 循环中,并从每个列表中访问项目,而不是像 test1 =bankAccounts.get(1) 那样手动访问

感谢任何帮助。

最佳答案

因此,您的 BankAccount 构造函数中有一段代码(存储“chk001”、“sav001”等的字段)。现在,您必须区分要将交易应用到哪个 BankAccount

因此,首先让我们迭代所有 Transactions 并获取每个 Transaction 的代码,这是需要的 BankAccount 的代码应用并检索实际帐户,以便我们可以将其应用于交易,如下所示:

for(Transaction transaction : transactionList) 
{
//get the type of account chk001, sav001, loc001 ..
String accountType = transaction.getBankAccountType();
BankAccount account = getTypeAccount(accountType)

if(account != null)
{
transaction.applyTransaction(account);
}

}

前面的代码假设您在每个 Transaction 对象上都有一个 getter 来检索其代码。如果您没有,您可以转到 Transaction 类并自行添加。

然后,您可以在创建循环逻辑的同一类中创建一个辅助方法,该循环逻辑检索与事务上的代码匹配的实际 BankAccount,如下所示:

private BankAccount getTypeAccount(String accountType)
{
for(BankAccount account : bankAccounts)
{
if(account.getCode().equals(accountType))
{
return account;
}
}
return null;
}

最后,如第一个片段所示,您通过执行以下操作来应用发送正确的 BankAccount 的交易: transaction.applyTransaction(account);

关于 for 循环(包括 For-Each)的小教程 http://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html

关于java - For循环解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21834609/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com