-2

3 人の異なるユーザーの「口座情報を確認する」配列を作成しました。ユーザーからの入力が顧客の「口座番号」の 1 つと一致する場合、残りの顧客データをコードの他の部分で使用できるようにする必要があります。私の配列で。

たとえば、ユーザーが 12345678 を入力した場合、私のコードは配列を検索し、その入力を「Jon の」アカウントと照合してから、Jon の情報をコード内の他のものに使用する必要があります。私は基本的に ATM ソフトウェアを書いています。

私の問題は、アカウント番号をユーザーからの入力に一致させることにあります。口座番号は、「cac」配列の各部分の最後の要素です。

誰かが私が間違っていることを教えてもらえますか?

CheckingAccountCustomer[] cac = new CheckingAccountCustomer[3]; // array of checking account customers, names, pins, balances, account numbers
    cac[0] = new CheckingAccountCustomer("Joe", 1234, 5000, 11111111);
    cac[1] = new CheckingAccountCustomer("Bob", 1111, 9000, 24606069);
    cac[2] = new CheckingAccountCustomer("Jon", 2222, 40000, 12345678);



    // prompt user for account number
    System.out.print("Please insert Debit Card or enter account number (8 digits):\n");
    sc.nextLine();
    int accountNumber = sc.nextInt();

    for (int i = 0; i < cac; i++)
    {
        if (accountNumber == cac[i][3])

            // DO STUFF WITH OTHER DATA
    }
4

5 に答える 5

1

まず、for ステートメントを次のように読む必要があります。

for (int i = 0; i < cac.length; i++)

次に、クラスcac[i][3]の定義によっては、参照も間違っている可能性があります。CheckingAccountCustomer

于 2013-05-05T20:27:08.357 に答える
0

配列を反復処理する必要があります。for ループの条件ステートメントは、配列の長さではなく、intan が an より大きいかどうかをチェックしています。CheckingAccountCustomer[]

条件ifステートメントは、評価される と を比較しintCheckingAccountCustomerいます。 から口座番号を取得する必要がありますCheckingAccountCustomer

for (int i = 0; i < cac.length; i++)
{
    if (accountNumber == cac[i][3].getAccountNumber())

        // DO STUFF WITH OTHER DATA
}
于 2013-05-05T20:27:14.983 に答える