2017-11-04 96 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(); 
相关问题