2017-11-04 151 views
1

所以我想在java中編寫一個基本的控制檯銀行程序。如何從一個對象數組中的1個對象訪問數據--java

需求是1個超類帳戶和2個子類檢查和儲蓄以及一些其他功能,如添加新帳戶或查看帳戶。爲了存儲多個對象,我們必須創建一個對象數組。

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

其中一項功能是顯示所有帳戶的帳號和餘額。

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

我該如何從正確位置的物體上拉出這些數據?我是否在Superclass或Checking and Savings類中獲取方法,而不是存儲所有對象的AccountList類?例如:說清單[1]有一個帳戶#111和餘額100.00,清單[2]有#222和餘額200.00。

+2

你的代碼是混亂和缺少一些重要的功能。 'AccountList'是一個對象,不是數組,所以你不能使用'[I]'來訪問信息,這是沒有意義的。相反,'AccountList'需要提供某種「getter」,它需要一個'int'並返回指定位置的'Account' – MadProgrammer

回答

0

所以你需要做兩件事來正確設置它。

首先,你需要一種方法來從您的帳戶列表對象中獲取特定的帳戶:

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

其次你在Account對象需要getters and setters,這樣就可以讀取和改變的變量。

然後當你想獲得一個平衡你的AccountList對象,你會做這樣這樣的:

//get balance from the first account 
list.getAccount(0).getBalance(); 
相關問題