2012-11-28 4 views
-1

좋아, 클래스 A와 클래스 B가 있고 클래스 A에는 B의 배열이 들어 있으며 여기에는 배열에 새 B를 추가하는 코드가 있습니다.개체 배열 도움이! (배열 유형이 클래스 유형으로 해석 됨)

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

자바 '는 식의 형식은 배열 형식이어야하지만 B로 해결'라는 배열에 추가

내 이론을 noOfB의 배열 의 다음 빈 인덱스이기 때문에이었다 (아무도 제거되지 않았다고 가정)이 코드는 B를 다음 빈 슬롯에 배치합니다.

왜 이것이 작동하지 않습니까?! :( (가난한 레이아웃에 대한 미안, 나는이 사이트를 작동하지 않을 수 있습니다!)

+3

당신은 변수 코스와 noOfBs의 선언을 보여줄 수 있습니까? –

+1

* "형편없는 레이아웃에 대해 미안하지만이 사이트를 해결할 수 없었습니다!"*이 질문을 입력하는 페이지에 서식 지정 정보가 ** 많이 ** 있습니다. 코드 서식을 지정하기 위해서해야 할 일은 4 개의 공백으로 들여 쓰기하는 것입니다. 끝난. –

답변

3

을 오류의 유형 course 실제로 B하지 B[] 변수 당신의 제안 선언 봐 -. 난 꽤 당신이 그것을 다음과 같습니다 확인할 수있는 것들 : 그런 경우가 아니라면

B course; 

, 선언을 포함하도록 질문을 수정하시기 바랍니다

을 또한, List<B> 사용을 고려, 당신이 사용할 수 있도록 :.

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

... noOfBs 변수를 완전히 삭제하십시오.

0

나는 뭔가 잘못하고 있다고 생각합니다. 이후 u 주어진 정보가 없습니다. 나는 함수를 호출하는 ur 선언이나 ur 방법이 잘못되었다고 생각할 것이다. 이것은 효과가있다.

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