如何从一个对象数组中的1个对象访问数据--java
问题描述:
所以我想在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。
答
所以你需要做两件事来正确设置它。
首先,你需要一种方法来从您的帐户列表对象中获取特定的帐户:
public Account getAccount(int index){return list[index];}
其次你在Account
对象需要getters and setters,这样就可以读取和改变的变量。
然后当你想获得一个平衡你的AccountList
对象,你会做这样这样的:
//get balance from the first account
list.getAccount(0).getBalance();
你的代码是混乱和缺少一些重要的功能。 'AccountList'是一个对象,不是数组,所以你不能使用'[I]'来访问信息,这是没有意义的。相反,'AccountList'需要提供某种“getter”,它需要一个'int'并返回指定位置的'Account' – MadProgrammer