我有一个输入客户和余额方法的银行程序。该方法向我的帐户 ArrayList 添加一个字符串和一个双精度值,例如,如果输入了名称 Sam,我想停止再次输入该名称,因为目前它为 Sam 创建了两个单独的字符串和余额,并且在提取/存入两者时被修改,因为我检查名称/字符串以获得正确的帐户。class Bank {ArrayList<Account> accounts = new ArrayList<Account>();public void enterCustomers() { String name = ""; double balance; System.out.println("Enter customer names or q to quit entering names"); while (true) { name = MyConsole.getString("Enter a customer name: "); if (name.equals("q")) { break; } balance = MyConsole.getDouble("Enter opening balance: "); accounts.add(new Account(name, balance)); }}
3 回答
繁华开满天机
TA贡献1816条经验 获得超4个赞
使用 java 8 你可以做到这一点
boolean nameExists = accounts.stream().anyMatch(account-> "name".equals(account.getName()));
或者另一种方法是将 name 和 balance 作为键值对存储在HashMap 中,它有一个方法containsKey来检查键是否存在。
添加回答
举报
0/150
提交
取消