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 によって識別されるアカウントに関連付けたいと考えています。これを行う 1 つの方法は、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);
于 2012-11-19T22:36:52.780 に答える
0

おそらくそれらを ArrayList または Map に格納するのが、それらを保存するのに最適です。

また、withdraw メソッドを呼び出すときは、文字列ではなく「Account」全体を渡す必要があるため、クラスの「setBalance」メソッドを使用して残高を正確に編集できます。

于 2012-11-19T22:42:47.683 に答える