2013-06-20 6 views
0

저는 Java에 익숙하지 않아 과제를 완료하는 데 약간의 문제가 있습니다.개체 배열 내의 개체 배열

우리는 회사에서 정보를 취하는 프로그램을 만들 것을 요청받습니다 (적어도 세 가지를 생성해야합니다). 각 회사에서 부서 수, 각 부서에서 종업원 수, 할당 된 프로젝트의 각 직원 및 프로젝트가 완료되었는지 여부 등을 입력해야합니다. 우리는 부서가 하위 클래스가 아니라 오히려 특성이라는 힌트로 들었습니다.

지금까지 회사를 만드는 클래스를 만든하지만 ... 다음에 수행하는 방법에 붙어

내가 다른 배열에 대한 일종의 후 일부 부서 객체의 배열을 만드는 방법에 대한 생각

직원, 나는 올바른 방향으로 가고 있습니까?

class Company{ 

    String companyName; 
    int numberOfDepartments;  

    Company (String companyName, int numberOfDepartments){ 
     this.companyName= companyName; 
     this.numberOfDepartments = numberOfDepartments; 
    } 

    void message(){ 
     System.out.print (companyName + " has " + numberOfDepartments + " Departments "); 
    } 

    public static void main (String [] args){ 
     Company myCompany= new Company("myCompany", 10); 
     myCompany.message(); 
    } 
} 

도움이 되겠습니다.

+1

을 당신이 부서의 수를 저장할 생각하지 않는다 . 나는'List '와'ArrayList'가 배열보다 잘 작동한다고 생각한다. – Rup

+0

.. * "분할"* 팁 : 분할 -> 분할 -> 부서 –

답변

2

럭키, 숙제이므로 다른 제안을 요청하기 전에 마음에 품은 디자인을 개발하는 것이 좋습니다. 작동하지 않거나 더 잘 작동한다고 생각되면 조언을 요청할 수 있습니다.

그런데, 이런 종류의 문제를 다루는 올바른 방법은 가장 작은 클래스부터 시작합니다 : 간단합니다, 쉽게 관리 할 수 ​​있고 꽤 빨리 디자인 할 수 있습니다 (귀하의 경우 프로젝트, 이름과 부울 플래그 isCompleted 및 어쩌면 직원에 대한 포인터가 있음). 그런 다음 Employee 클래스를 관리하고 맨 위로 올라갈 수 있습니다.

상향식 (bottom-up)이라고하며이 가장 많이 사용되는 프로그래밍 스타일 원리 (하향식이 반사 대칭의 경우에 사용되는) 중 하나입니다. 그냥 Matrioska 게임을 고려하십시오. 가장 작은 것을 만들고 그냥 좀 더 큰 것으로 들어가게하십시오. 추가 얼마나 많은 결정하는 대신 부서 개체 목록을 저장하고 번호를 사용 : 다음 반복 :

matrioska

행운