2017-11-04 15 views
1

したがって、Javaで基本的なコンソールバンキングプログラムを作成しようとしています。オブジェクトの配列内の1オブジェクトからデータにアクセスする方法 - java

要件は1つのスーパークラスのアカウントと2つのサブクラスChecking and Savingsと、新しいアカウントまたはビューアカウントの追加などのいくつかの他の機能です。複数のオブジェクトを格納するには、オブジェクトの配列を作成する必要があります。

public class AccountList { 

private Account[] list = new Account[5]; 
private int i = 0; 

public void add(Account a) 
{ 
    if (i < list.length) 
    { 
     list[i] = a; 
    } 
} 

1つの機能は、すべてのアカウントのアカウント番号と残高を表示することです。

public static void main(String args[]) 
{ 
AccountList list = new AccountList(); 
. 
. 
. 
case 5: 
     int i; 
     int l = list.getLength(); 

     for(i = 0; i <= l; i++) 
     { 
      int act = list[i].getAccount(); 
      double bal = list[i].getBalance(); 
      System.out.println("************"); 
      System.out.printf("Account %d has balance: %f", accountnumber, 
      balance); 
     } 

このデータをオブジェクトから正しい場所にプルするにはどうすればよいですか?すべてのオブジェクトが格納されているAccountListクラスではなく、スーパークラスまたはCheckingおよびSavingsクラスでメソッドを取得できますか?

例:[1]はacct#111、残高100.00、list [2]は#222、残高は200.00です。

+2

あなたのコードは混乱し、いくつかの重要な機能が欠落しています。 'AccountList'は配列ではなくオブジェクトなので、' [I] 'を使って情報にアクセスすることはできません。意味がありません。代わりに、 'AccountList'は' int 'をとり、指定された場所に 'Account'を返す何らかの" getter "を提供する必要があります – MadProgrammer

答えて

0

これを正しく設定するには、2つのことが必要です。

まず、あなたのアカウントリストオブジェクトから特定のアカウントを取得する方法が必要になります。

public Account getAccount(int index){return list[index];} 

第二に、あなたが変数を読み込み、変更することができるように、あなたのAccountオブジェクトにgetters and settersを必要としています。

そして、あなたはあなたのAccountList対象外のバランスを取得したいときに、あなたはこのようにそうするでしょう:

//get balance from the first account 
list.getAccount(0).getBalance(); 
関連する問題