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

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

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下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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