2

我对 JAVA 相当陌生,但我正在开发一个程序,这是我遇到的问题,可能是一个简单的修复。

我提示用户为模拟 ATM 系统输入他们的 ID。

            {
            System.out.println("Enter an ID: ");
            Scanner input = new Scanner(System.in);
            String acctID = input.next();
            withdrawAccount(acctID);
            System.out.println(IDnum.getBalance());
            }

代码还有更多内容,但目前无关紧要。将有几个 if 语句来查看用户想要执行的操作,即从他们的帐户中提取资金。在这个程序中,我想让用户在那里输入 ID 并将其保存为字符串并将其传递给 WithdrawAccount 方法。因此 acctID 将引用用户为帐户 ID 输入的任何内容。请注意,帐户 ID 与 Account 变量的名称相同。所以账户 0 的 ID 为 0。

    public static void withdrawAccount(String acctID)
            {
            System.out.println("Enter Withdraw Amount: ");
            Scanner input = new Scanner(System.in);
            double WithdrawAmount = input.nextDouble();
            acctID.setBalance(acctID.getBalance() - WithdrawAmount);
            }
4

2 回答 2

1

如果我正确理解您的问题,您希望将字符串 ID 与这些 ID 标识的帐户相关联。一种方法是使用地图:

private Map<String, Account> accountsById = new HashMap<String, Account>();

...

accountsById.put("1", account1);
accountsById.put("2", account2);
accountsById.put("3", account3);
...

然后获取具有给定 ID 的帐户:

Account account = accountsById.get(idEnteredByTheUser);
于 2012-11-19T22:36:52.780 回答
0

可能将它们存储到 ArrayList 或 Map 中最好保存它们。

当你调用withdraw方法时,你需要传递整个'Account'而不是一个字符串,这样你就可以使用类的'setBalance'方法准确地编辑他们的余额。

于 2012-11-19T22:42:47.683 回答