我是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);
}
答案 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'方法精确地编辑它们的平衡。