老师,我的统计职员方法实在不会写,是不是我其他方法存在缺陷,代码如下..

老师,我的统计职员方法实在不会写,是不是我其他方法存在缺陷,代码如下..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
package com.my.staff;
 
import com.my.administration.Administration;
import com.my.position.Job;
 
/**
 * 员工类
 * @author Administrator
 *
 */
public class Staff {
    private String staffName;//员工姓名
    private String staffNo;//工号
    private String staffSex;//性别
    private int staffAge;//年龄
    private Administration admin;
    /**
     * 无参构造方法
     */
    public Staff() {
         
    }
     
     
 
    public Staff(String staffName, String staffNo, String staffSex, int staffAge,Administration admin) {
        super();
        this.setStaffName(staffName);
        this.setStaffNo(staffNo);
        this.setStaffAge(staffAge);
        this.setStaffSex(staffSex);
        this.setAdmin(admin);
    }
 
 
 
    public String getStaffName() {
        return staffName;
    }
 
    public void setStaffName(String staffName) {
        this.staffName = staffName;
    }
 
    public String getStaffNo() {
        return staffNo;
    }
 
    public void setStaffNo(String staffNo) {
        this.staffNo = staffNo;
    }
 
    public String getStaffSex() {
        return staffSex;
    }
 
    public void setStaffSex(String staffSex) {
        this.staffSex = staffSex;
    }
 
    public int getStaffAge() {
        if(this.staffAge<18)
            staffAge=18;
        return staffAge;
    }
 
    public void setStaffAge(int staffAge) {
        this.staffAge = staffAge;
    }
     
     
 
 
 
    public Administration getAdmin() {
        return admin;
    }
 
 
 
    public void setAdmin(Administration admin) {
        this.admin = admin;
    }
 
 
 
    /**
     
     * @return 员工的基本信息
     */
    public String showStaff() {
        String str="姓名:"+this.getStaffName()+"\n工号:"+this.getStaffNo()
        +"\n性别:"+this.getStaffSex()+"\n年龄:"+this.getStaffAge()
        +"\n职务:"+this.getAdmin().getAdminName()+this.getAdmin().getJob().getJobName();
        return str;
    }
}

package com.my.administration;


import com.my.position.Job;

import com.my.staff.Staff;

//部门类

public class Administration {

private String adminName;

private Job job;

private Staff[] staff;

private int staffNo;

/**

* 无参构造方法

*/

public Administration() {

}


public Administration(String adminName,Job job) {

super();

this.setAdminName(adminName);

this.setJob(job);

}


public String getAdminName() {

return adminName;

}


public void setAdminName(String adminName) {

this.adminName = adminName;

}


public Job getJob() {

if(this.job==null)

job=new Job();

return job;

}


public void setJob(Job job) {

this.job = job;

}


public Staff[] getStaff() {

if(staff==null)

staff=new Staff[10];

return staff;

}


public void setStaff(Staff[] staff) {

this.staff = staff;

}


public int getStaffNo() {

return staffNo;

}


public void setStaffNo(int staffNo) {

this.staffNo = staffNo;

}

public void addStaff(Staff staff) {

}

}

package com.my.position;

//职员类

public class Job {

private String jobName;


public Job() {

super();

}


public Job(String jobName) {

super();

this.setJobName(jobName);

}


public String getJobName() {

return jobName;

}


public void setJobName(String jobName) {

this.jobName = jobName;

}

}

package com.my.test;

import com.my.administration.Administration;

//测试类

import com.my.position.Job;

import com.my.staff.*;

public class Test {


public static void main(String[] args) {

// TODO Auto-generated method stub

Job job=new Job("职员");

Job job1=new Job("助理");

Job job2=new Job("经理");

Administration admin=new Administration("市场部",job);

Administration admin1=new Administration("市场部",job1);

Administration admin2=new Administration("市场部",job2);

Administration admin3=new Administration("人事部",job);

Administration admin4=new Administration("人事部",job1);

Administration admin5=new Administration("人事部",job2);

Staff staff=new Staff("摩根弗里曼", "S001", "男", 17,admin);

Staff staff1=new Staff("金凯瑞", "S002", "男", 19,admin1);

Staff staff2=new Staff("汤姆克鲁斯", "S003", "男", 19,admin2);

Staff staff3=new Staff("摩根弗里曼", "S001", "男", 17,admin3);

Staff staff4=new Staff("金凯瑞", "S002", "男", 19,admin4);

Staff staff5=new Staff("汤姆克鲁斯", "S003", "男", 19,admin5);

String str=staff.showStaff();

System.out.println(staff.showStaff());

System.out.println("========================================================");

System.out.println(staff1.showStaff());

System.out.println("========================================================");

System.out.println(staff2.showStaff());

System.out.println("========================================================");

System.out.println(staff3.showStaff());

System.out.println("========================================================");

System.out.println(staff4.showStaff());

System.out.println("========================================================");

System.out.println(staff5.showStaff());


}


}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
irista23 2018-05-14 11:16:31

addStaff(Staff staff)的实现逻辑:循环遍历员工数组staff,如果数组元素为null,将传进来的参数赋值给当次循环的数组元素,并设置其所属部门(ps:员工类中需要添加对象类型的所属部门和职务的属性),统计员工个数的变量+1;退出循环。getStaff()方法中直接返回staff,staff的创建建议在类的构造方法中完成。另外还需要参考思路分析中的提示来设定部门、职务和员工类。

  • 提问者 摄影祖师爷 #1
    循环遍历员工数组要用部门的对象,我在测试类中有3个部门对象,一下子就卡壳了,是不是部门类需要重新设计思路...
    2018-05-14 11:24:33
  • irista23 回复 提问者 摄影祖师爷 #2
    参照我的提示重新整理下部门类特别是addStaff(Staff staff)方法,然后测试类中创建一个员工类对象,就可以调用addStaff(Staff staff)方法将员工加入部门了
    2018-05-14 11:29:11
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码