访问由不同类别的数组组成的对象
问题描述:
我在尝试弄清楚如何访问Main中另一个类中的数组中创建的对象时遇到问题。 Psuedo为即将尝试做什么。访问由不同类别的数组组成的对象
- 在用于表的号码在餐厅
- 取数n主类提示用户,在餐厅类创建否表对象数组
- Access创建每个tableobject并能够通过将值添加到它构造函数全部从主
希望代码能更好地解释。
我的主类
Restaurant RestaurantObject = new Restaurant();
Table TableObject = new Table();
System.out.println("Max Tables In Restaurant? (Interger)");//Set Max Tables
Scanner smax_tables = new Scanner(System.in);
int max_tables = smax_tables.nextInt();
RestaurantObject.create_table_array(TableObject, max_tables);
我的餐厅类
private Table[] TableList; //and other random variables
//other methods
public void create_table_array(Table table,int number) {
Table[] TableList = new Table[number];
int i = 0;
for(i = 0; i < number; i++) {
TableList[i] = table;
}
public Restaurant() {
}
我的表类
int max_amount;
public int getMax() {
return max_amount
}
Table(int number) {
this.max_amount = number;
}
而我期望的动作
- 运行程序,并在餐厅创造最大的表
- 5台进入5
RestaurantObject.Table1(10) //set max to 10 in table object
System.out.printf("max amount for table1 is %d",Restaurant.Table1.getMax()
现在,IM RE-看着它。我将不得不提示用户进行编辑,获取并返回数组中的表格对象吗?任何帮助将是巨大的,感谢
答
,如果我得到你的问题吧,你要访问这里创建数组:
public void create_table_array(Table table,int number) {
Table[] tableList = new Table[number];
int i = 0;
for(i = 0; i < number; i++)
tableList[i] = table;
}
你能做的就是改变从void
的方法Table[]
,并返回创建数组。就像这样:
public Table[] create_table_array(Table table,int number) {
Table[] tableList = new Table[number];
int i = 0;
for(i = 0; i < number; i++)
tableList[i] = table;
return tableList;
}
现在,在你的主程序,可以调用该方法是这样的:
Table[] tables = RestaurantObject.create_table_array(TableObject, max_tables);
现在,您可以通过其索引访问的所有表。例如
for(int i = 0; i < tables.length; i++)
//do something to tables[i]
此外,你应该坚持使用Java命名约定,并使用驼峰的变量名。例如:TableList
==>tableList
等...
正是我在找的,谢谢 – Jovis13 2014-09-23 01:37:42