2012-11-28 60 views
-1

好的,所以我有一个类A和一个类B,而类A包含一个B的数组,这里是我的代码在数组中添加一个新的B.对象的数组帮助! (数组类型被解析为类的类型)

public void addNewB(B b){ 
    course[noOfBs]= b; 
    noOfBs++; 
} 

的Java说“类型的表达式必须是一个数组类型,但它解决到B”

我的理论添加到阵列是自noOfB的是数组 在未来空指数(假设没有被删除),所以这段代码只会将B放入下一个空槽。

为什么这不起作用? :( (约可怜的布局很抱歉,我不能工作了这个网站!)

+3

,你能否告诉变量当然和noOfBs的声明? –

+1

*“(抱歉关于布局不好,我无法制作出这个网站!)”*在你输入这个问题的页面上有很多格式化信息。所有你需要做的格式化代码都是用四个空格缩进的。完成。 –

回答

3

错误提示的类型你的变量course实际上是B,不B[]看看声明 - 我敢相信你会发现它看起来是这样的:

B course; 

如果不是的话,也请编辑您的问题,包括报关

,可以考虑使用List<B>,所以你可以使用:

public void addNewB(B b) { 
    course.add(b); 
} 

...并完全删除您的noOfBs变量。

0

我想你在做错事。因为你没有给出完整的信息。我会假设你的声明或者你调用函数的方式可能是错误的。这应该工作。

B course[]=new B[MAX_COURSES]; /* This declares an array of refereneces */ 

public void addNewB(B b){ 
    course[noOfBs]= b; 
    noOfBs++; 
} 

调用函数:

B course1=new B(); b.setCourseName("....") /* Make the object of B */ 
addNew(course1);