gpt4 book ai didi

java - 确认Java ArrayList包含特定值

转载 作者:行者123 更新时间:2023-12-02 11:53:47 27 4
gpt4 key购买 nike

我有一个“银行”程序,包含以下代码块:

private void doPayment(JTextField accountNumField, JTextField paymentField)
{
int accountNum = Integer.parseInt(accountNumField.getText());
double paymentAmt = Double.parseDouble(paymentField.getText());
String paymentProcessed = "-RECEIPT OF PAYMENT-" + "\n\n" + "Account Number:" + " " + accountObject.getAccountNum() + "Beginning Balance:" + " " + accountObject.getBegBalance()
+ "Payment Amount:" + " " + accountObject.getPaymentAmount() + "Ending Balance:" + " " + accountObject.getEndBalance();
String errorMsg = "ERROR: ACCOUNT NUMBER" + " " + "[" + accountObject.getAccountNum() + "]" + " " + "NOT FOUND. PLEASE VERIFY THAT THE ACCOUNT INFORMATION IS VALID AND CORRECT.";

if (accountsArrayList.contains(accountNum))
{
accountObject.transactionTwo(paymentAmt);
JOptionPane.showMessageDialog(null, paymentProcessed, "PAYMENT PROCESSED SUCCESSFULLY", JOptionPane.PLAIN_MESSAGE);
}
else
{
JOptionPane.showMessageDialog(null, errorMsg, "INVALID ACCOUNT ERROR", JOptionPane.PLAIN_MESSAGE);
}

}

理论上,用户为客户创建帐户后,他/她会导航到“处理付款”窗口并输入两项内容:accountNum paymentAmt,然后点击提交,此时将调用 doPayment 方法。

此方法应该能够工作,以便程序迭代包含三个项目的 accountsArrayList:lastName、firstName 和 accountNum。如果发现提供的accountNum 与arrayList 中预先存在的accountNum 相匹配,则相应地处理交易。如果找不到匹配的 accountNum ,则返回错误消息。

目前,它只是在if-elseelse部分返回错误消息。我认为 contains(item) 方法会自动遍历 Arraylist。如果不是这种情况,我是否需要增强的 FOR 循环?

最佳答案

    if (accountsArrayList.contains(accountNum))

accountsArrayList 是一个 ArrayList,其中包含 Account 类型的对象。

仅当 accountArrayList 包含作为参数给出的对象类型 Account 时,

contains 返回 true。在您的代码中,accountNum 是一个 int所以编译器会像 if(Account == INTEGER)

那样读取它

您必须将每个帐户放入 ArrayList 中并获取其 accountNum,然后比较这些值。

for(int i = 0; i < accountsArrayList.size; i++){
if(accountsArrayList.get(i).accountNum == accountNum){
//success
}
else {
//error
}
}

关于java - 确认Java ArrayList包含特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47724987/

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