使用String变量访问类中的对象

时间:2012-11-19 22:11:12

标签: java

我是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);
            }

2 个答案:

答案 0 :(得分:1)

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

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);

答案 1 :(得分:0)

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

当你调用withdraw方法时,你需要传递整个'Account'而不是字符串,这样你就可以使用该类的'setBalance'方法精确地编辑它们的平衡。