老师,可以帮我看一下怎么改进吗?
package com.imooc.intro;
import com.imooc.intro.*;
public class Test {
public static void main(String[] args) {
Staff sta1=new Staff("张铭","S001",29,"男");
System.out.println(sta1.introduction());
Job jobA=new Job("P001","人事部经理");
System.out.println("职务:"+jobA);
}
}
package com.imooc.intro;
/**
* 部门类
* @author me
*
*/
public class Department {
//成员属性:部门编号、部门名称、员工数组、员工人数
private String departmentNo;
private String departmentName;
private Staff[] mystaff;
//无参构造方法
public Department() {
}
//带参构造方法
int RSstaffNum=0;
int SCstaffNum=0;
public Department(String departmentNo,String departmentName,Staff[] mystaff){
this.setDepartmentNo(departmentNo);
this.setDepartmentName(departmentName);
this.setMystaff(mystaff);
}
public void setDepartmentName(String departmentName) {
this.departmentName=departmentName;
}
public String getDepartmentName() {
return departmentName;
}
public void setDepartmentNo(String departmentNo) {
this.departmentNo=departmentNo;
}
public String getDepartmentNo() {
return departmentNo;
}
public Staff[] getMystaff() {
if(this.mystaff==null)
this.mystaff=new Staff[10];
return mystaff;
}
public void setMystaff(Staff[] mystaff) {
this.mystaff = mystaff;
}
public void addstaff(Staff mystaff) {
int i=0;
for(i=0;i<this.getMystaff().length;i++) {
if(this.getMystaff()[i]==null) {
this.getMystaff()[i]=mystaff;
break;
}
}
}
public void countStaffNum(Staff mystaff) {
int i=0;
for(i=0;i<this.getMystaff().length;i++) {
if(departmentName=="人事部") {
RSstaffNum=RSstaffNum+1;
}
else {
SCstaffNum=SCstaffNum+1;
}
}
}
}
package com.imooc.intro;
public class Job {
//成员属性:职务编号、职务名称
private String jobNo;
private String jobName;
//无参构造方法
public Job() {
}
public String getJobNo() {
return jobNo;
}
public void setJobNo(String jobNo) {
this.jobNo = jobNo;
}
public String getJobName() {
return jobName;
}
public void setJobName(String jobName) {
this.jobName = jobName;
}
//带参构造方法
public Job(String jobNo,String jobName) {
this.setJobNo(jobNo);
this.setJobName(jobName);
}
}
package com.imooc.intro;
public class Staff {
//成员属性:员工姓名、工号、年龄、性别、所属部门、职务信息
private String staffName;
private String staffNo;
private int staffage;
private String staffsex;
//无参构造方法
public Staff() {
}
//带参构造方法
public Staff(String staffName,String staffNo,int staffage,String staffsex) {
this.setStaffName(staffName);
this.setStaffNo(staffNo);
this.setStaffage(staffage);
this.setStaffsex(staffsex);
}
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 int getStaffage() {
return staffage;
}
public void setStaffage(int staffage) {
if(this.staffage<18&&this.staffage>65) {
this.staffage=18;
}else {
this.staffage = staffage;
}
}
public String getStaffsex() {
return staffsex;
}
public void setStaffsex(String staffsex) {
if(this.staffsex!="男"&&this.staffsex!="女") {
this.staffsex="男";
}else {
this.staffsex = staffsex;
}
}
public String introduction() {
String sta="\n姓名:"+this.getStaffName()+"\n工号:"+this.getStaffNo()+"\n性别:"+this.getStaffsex()+"\n年龄:"+this.getStaffage();
return sta;
}
}14
收起
正在回答
2回答
同学你好,1、根据题目要求,员工类--能够描述员工姓名、工号、年龄、性别、所属部门、职务信息。建议在员工类中添加部门与职务类的成员属性。

注意修改构造方法与get/set方法,在introduction方法中添加职务信息。
2、因为staffsex时String类型的数据,建议在判断比较时使用equals方法

3、在部门中,统计部门中的员工个数的变量,只需要设置一个就可以,而具体是市场部还是人事部,是通过部门类的对象来表示的,如果是市场部的对象,那么添加并统计的就是市场部的人数,同样如果是人事部的对象,添加并统计的就是人事部的人数。

4、在向部门添加员工时直接统计数量,例如:

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程

恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星