老师,执行程序时,职务出不来,帮我看一下

老师,执行程序时,职务出不来,帮我看一下

package com.Imooc.companycc;
public class Employee {
 //定义职员的姓名、工号、性别、年龄、职位、部门
 private String employeeName;
 private String employeeNo;
 private String employeeSex;
 private int employeeAge;
 private Position employeePos;
 private Department employeeDep;
 //无参构造
 
 //多参构造
 
 public Employee(String employeeName,String employeeNo, String employeeSex ,int employeeAge,Position employeePos,Department employeeDep) {
  //为职员的姓名、工号、年龄、职位、部门赋值
  this.setEmployeeName(employeeName);
  this.setEmployeeNo(employeeNo);
  this.setEmployeeSex(employeeSex);
  this.setEmployeeAge(employeeAge);
  this.setEmployeePos(employeePos);
  this.setEmployeeDep(employeeDep);
 }
 
 
 public String getEmployeeName() {
  return employeeName;
 }
 public void setEmployeeName(String employeeName) {
  this.employeeName = employeeName;
 }
 public String getEmployeeNo() {
  return employeeNo;
 }
 public void setEmployeeNo(String employeeNo) {
  this.employeeNo = employeeNo;
 }
 public String getEmployeeSex() {
  return employeeSex;
 }
 public void setEmployeeSex(String employeeSex) {
  if((employeeSex.equals("男"))||(employeeSex.equals("女"))) {
   this.employeeSex = employeeSex;
  }else {
   this.employeeSex = "男";
  }
  this.employeeSex = employeeSex;
 }
 public int getEmployeeAge() {
  return employeeAge;
 }
 public void setEmployeeAge(int employeeAge) {
  if(employeeAge < 18||employeeAge >65) {
   this.employeeAge=18;
  }
  this.employeeAge = employeeAge;
 }
 public Position getEmployeePos() {
  return employeePos;
 }
 public void setEmployeePos(Position employeePos) {
  this.employeePos = employeePos;
 }
 public Department getEmployeeDep() {
  return employeeDep;
 }
 public void setEmployeeDep(Department employeeDep) {
  this.employeeDep = employeeDep;
 }
 public String employeeInfo() {
  String str = "姓名: "+this.getEmployeeName()+"\n工号: "+this.getEmployeeNo()+"\n性别: "+this.getEmployeeSex()+"\n年龄: "
    + this.getEmployeeAge()+"\n职位: "+this.getEmployeePos()+this.getEmployeeDep().getDepartmentName();
  return str;
 }
 
}
package com.Imooc.companycc;
public class Position {
 //声明职位名称、编号
 private String empolyeePosName;
 private String employeePosNo;
 public Position() {
  
 }
 public Position(String empolyeePosName,String employeePosNo) {
  this.setEmpolyeePosName(empolyeePosName);
  this.setEmployeePosNo(employeePosNo);
 }
 public String getEmpolyeePosName() {
  return empolyeePosName;
 }
 public void setEmpolyeePosName(String empolyeePosName) {
  this.empolyeePosName = empolyeePosName;
 }
 public String getEmployeePosNo() {
  return employeePosNo;
 }
 public void setEmployeePosNo(String employeePosNo) {
  this.employeePosNo = employeePosNo;
 }
 
}

package com.Imooc.companycc;
public class Department {
 //声明部门的名称、编号、数组、人数
 private String departmentName;
 private String departmentNo;
 private Employee[] departmentEmployee;
 private int departmentEmployeeNo;
 
 //无参构造
 public Department() {
  
 }
 public Department(String departmentName, String departmentNo) {
  
 }
 //多参构造
 public Department(String departmentName,String departmentNo,Employee[] departmentEmployee,int departmentEmployeeNo) {
  this.setDepartmentName(departmentName);
  this.setDepartmentNo(departmentNo);
  this.setDepartmentEmployee(departmentEmployee);
  this.setDepartmentEmployeeNo(departmentEmployeeNo);
 }
 public String getDepartmentName() {
  return departmentName;
 }
 public void setDepartmentName(String departmentName) {
  this.departmentName = departmentName;
 }
 public String getDepartmentNo() {
  return departmentNo;
 }
 public void setDepartmentNo(String departmentNo) {
  this.departmentNo = departmentNo;
 }
 public Employee[] getDepartmentEmployee() {
  if(this.departmentEmployee == null) {
   this.departmentEmployee = new Employee[200];
  }
  return departmentEmployee;
 }
 public void setDepartmentEmployee(Employee[] departmentEmployee) {
  this.departmentEmployee = departmentEmployee;
 }
 public int getDepartmentEmployeeNo() {
  return departmentEmployeeNo;
 }
 public void setDepartmentEmployeeNo(int departmentEmployeeNo) {
  this.departmentEmployeeNo = departmentEmployeeNo;
 }
 public void addEmployee(Employee stf) {
  int i;
  /*
   * 1、将员工保存到数组中
   * 2、将员工个数保存到departmentEmployeeNo
   **/
  for(i=0;i < this.getDepartmentEmployee().length;i++) {
   if(this.getDepartmentEmployee()[i] == null) {
    this.getDepartmentEmployee()[i] = stf;
    this.departmentEmployeeNo = i+1;
    return;
   }
  }
 }

}

package com.Imooc.companycc;
import com.Imooc.companycc.Department;
import com.Imooc.companycc.Position;
import com.Imooc.companycc.Employee;
public class DepartmentText {
 public static void pl() {
  System.out.println("=====================");
 }
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  Department dp1= new Department("D001","人事部");
  Department dp2= new Department("D002", "市场部");
  
  
  Position pp1= new Position("P001","经理");
  Position pp2=new Position("P002","助理");
  Position pp3=new Position("P003","职员");
  
  Employee st1=new Employee("张铭","S001","男",29,pp1,dp1);
  Employee st2=new Employee("李艾爱","S002","女",21,pp2,dp1);
  Employee st3=new Employee("孙超","S003","男",29,pp3,dp1);
  Employee st4=new Employee("张美美","S004","女",26,pp3,dp2);
  Employee st5=new Employee("蓝迪","S005","男",37,pp1,dp2);
  Employee st6=new Employee("米莉","S006","男",24,pp3,dp2);
  
  
  dp1.addEmployee(st1);
  dp1.addEmployee(st2);
  dp1.addEmployee(st3);
  dp2.addEmployee(st4);
  dp2.addEmployee(st5);
  dp2.addEmployee(st6);
  
  System.out.println(st1.employeeInfo());
  System.out.println(st2.employeeInfo());
  System.out.println(st3.employeeInfo());
  System.out.println(st4.employeeInfo());
  System.out.println(st5.employeeInfo());
  System.out.println(st6.employeeInfo());
  System.out.println(dp1.getDepartmentName()+ "的已有人数"+dp1.getDepartmentEmployeeNo());
  System.out.println(dp2.getDepartmentName()+ "的已有人数"+dp2.getDepartmentEmployeeNo());
 }
}


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

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

3回答
好帮手慕阿慧 2020-07-24 15:20:14

同学你好,在Department构造方法中需要设置部门编号和名称的值。

参考代码如下:

http://img1.sycdn.imooc.com//climg/5f1a8ba409ee9ec705330128.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

啊哈8373093 提问者 2020-07-24 15:09:03
老师 还是没调试对

package com.Imooc.companycc;

public class Employee {
 
 private static final Department departmentName = null;
 //定义职员的姓名、工号、性别、年龄、职位、部门
 private String employeeName;
 private String employeeNo;
 private String employeeSex;
 private int employeeAge;
 private Department employeeDepName;
 private Position employeePosName;
 private Position employeePosNo;
 private Department departmantName;
 
 //无参构造
 
 //多参构造
 
 public Employee(String employeeName,String employeeNo, String employeeSex ,int employeeAge,Position employeePosName,Position employeePosNo,Department employeeDep) {
  //为职员的姓名、工号、年龄、职位、部门赋值
  this.setEmployeeName(employeeName);
  this.setEmployeeNo(employeeNo);
  this.setEmployeeSex(employeeSex);
  this.setEmployeeAge(employeeAge);
  this.setEmployeePosName(employeePosName);
  this.setDepartmentName(departmentName);
  
 }
 

 

 public String getEmployeeName() {
  return employeeName;
 }

 public void setEmployeeName(String employeeName) {
  this.employeeName = employeeName;
 }

 public String getEmployeeNo() {
  return employeeNo;
 }

 public void setEmployeeNo(String employeeNo) {
  this.employeeNo = employeeNo;
 }

 public String getEmployeeSex() {
  return employeeSex;
 }

 public void setEmployeeSex(String employeeSex) {
  if((employeeSex.equals("男"))||(employeeSex.equals("女"))) {
   this.employeeSex = employeeSex;
  }else {
   this.employeeSex = "男";
  }
  this.employeeSex = employeeSex;
 }

 public int getEmployeeAge() {
  return employeeAge;
 }

 public void setEmployeeAge(int employeeAge) {
  if(employeeAge < 18||employeeAge >65) {
   this.employeeAge=18;
  }
  this.employeeAge = employeeAge;
 }

 
 public void setEmployeePosName(Position employeePosName) {
  this.employeePosName=employeePosName;
 }
 public Position getEmployeePosName() {
  
  return this.employeePosName;
 }
 public void setEmployeePosNo(Position employeePosNo) {
  this.employeePosNo=employeePosNo;
 }
 public Position getEmployeePosNo() {
  
  return this.employeePosNo;
 }

 public Department getDepartmentName() {
  return employeeDepName;
 }

 public void setDepartmentName(Department departmentName) {
  this.departmantName = departmentName;
 }
 public String employeeInfo() {
  String str = "姓名: "+this.getEmployeeName()+"\n工号: "+this.getEmployeeNo()+"\n性别: "+this.getEmployeeSex()+"\n年龄: "
    + this.getEmployeeAge()+"\n职位: "+this.getDepartmentName()+this.getEmployeePosName();
  return str;
 }


 
 

 

}

package com.Imooc.companycc;

public class Position {
 //声明职位名称、编号
 private String empolyeePosName;
 private String employeePosNo;
 public Position() {
  
 }
 public Position(String empolyeePosName,String employeePosNo) {
  this.setEmpolyeePosName(empolyeePosName);
  this.setEmployeePosNo(employeePosNo);
 }
 public String getEmpolyeePosName() {
  return empolyeePosName;
 }
 public void setEmpolyeePosName(String empolyeePosName) {
  this.empolyeePosName = empolyeePosName;
 }
 public String getEmployeePosNo() {
  return employeePosNo;
 }
 public void setEmployeePosNo(String employeePosNo) {
  this.employeePosNo = employeePosNo;
 }
 

}

package com.Imooc.companycc;

public class Department {
 //声明部门的名称、编号、数组、人数
 private String departmentName;
 private String departmentNo;
 private Employee[] departmentEmployee;
 private int departmentEmployeeNo;
 
 //无参构造
 public Department() {
  
 }
 public Department(String departmentName, String departmentNo) {
  this.departmentName = departmentName;
  this.departmentNo = departmentNo;
 }
 //多参构造
 public Department(String departmentName,String departmentNo,Employee[] departmentEmployee,int departmentEmployeeNo) {
  this.setDepartmentName(departmentName);
  this.setDepartmentNo(departmentNo);
  this.setDepartmentEmployee(departmentEmployee);
  this.setDepartmentEmployeeNo(departmentEmployeeNo);
 }
 public String getDepartmentName() {
  return departmentName;
 }
 public void setDepartmentName(String departmentName) {
  this.departmentName = departmentName;
 }
 public String getDepartmentNo() {
  return departmentNo;
 }
 public void setDepartmentNo(String departmentNo) {
  this.departmentNo = departmentNo;
 }
 public Employee[] getDepartmentEmployee() {
  if(this.departmentEmployee == null) {
   this.departmentEmployee = new Employee[200];
  }
  return departmentEmployee;
 }
 public void setDepartmentEmployee(Employee[] departmentEmployee) {
  this.departmentEmployee = departmentEmployee;
 }
 public int getDepartmentEmployeeNo() {
  return departmentEmployeeNo;
 }
 public void setDepartmentEmployeeNo(int departmentEmployeeNo) {
  this.departmentEmployeeNo = departmentEmployeeNo;
 }
 public void addEmployee(Employee stf) {
  int i;
  /*
   * 1、将员工保存到数组中
   * 2、将员工个数保存到departmentEmployeeNo
   **/
  for(i=0;i < this.getDepartmentEmployee().length;i++) {
   if(this.getDepartmentEmployee()[i] == null) {
    this.getDepartmentEmployee()[i] = stf;
    this.departmentEmployeeNo = i+1;
    return;
   }
  }
 }


}

package com.Imooc.companycc;
import com.Imooc.companycc.Department;
import com.Imooc.companycc.Position;
import com.Imooc.companycc.Employee;
public class DepartmentText {
 public static void pl() {
  System.out.println("=====================");
 }

 public static void main(String[] args) {
  // TODO Auto-generated method stub
  Department dp1= new Department("D001","人事部");
  Department dp2= new Department("D002", "市场部");
  
  
  Position pp1= new Position("P001","经理");
  Position pp2=new Position("P002","助理");
  Position pp3=new Position("P003","职员");
  
  Employee st1=new Employee("张铭","S001","男",29,pp1,pp1, dp1);
  Employee st2=new Employee("李艾爱","S002","女",21,pp2,pp2,dp1);
  Employee st3=new Employee("孙超","S003","男",29,pp3,pp3,dp1);
  Employee st4=new Employee("张美美","S004","女",26,pp3,pp3,dp2);
  Employee st5=new Employee("蓝迪","S005","男",37,pp1,pp1,dp2);
  Employee st6=new Employee("米莉","S006","男",24,pp3,pp3,dp2);
  
  
  dp1.addEmployee(st1);
  dp1.addEmployee(st2);
  dp1.addEmployee(st3);
  dp2.addEmployee(st4);
  dp2.addEmployee(st5);
  dp2.addEmployee(st6);
  
  System.out.println(st1.employeeInfo());
  System.out.println(st2.employeeInfo());
  System.out.println(st3.employeeInfo());
  System.out.println(st4.employeeInfo());
  System.out.println(st5.employeeInfo());
  System.out.println(st6.employeeInfo());
  System.out.println(dp1.getDepartmentNo()+ "的已有人数"+dp1.getDepartmentEmployeeNo());
  System.out.println(dp2.getDepartmentNo()+ "的已有人数"+dp2.getDepartmentEmployeeNo());

 }

}


好帮手慕阿园 2020-07-23 16:28:10

同学你好,同学的代码需要修改以下几个地方

1,在获取职位时,应该要获取到该职务的名字,同学只获取了对象,并且根据同学在测试类中传入的参数,这里应该是getEmployeePosNo()
http://img1.sycdn.imooc.com//climg/5f1948d509a9f92c07400149.jpg

修改后如下

http://img1.sycdn.imooc.com//climg/5f19495609721eac11690125.jpg

2,测试类中也需要修改,否则输出的是编号

http://img1.sycdn.imooc.com//climg/5f19499d09d35a5305880496.jpg

3,在Department类中,全参构造没有为name和no属性赋值,所以导致获取的是null,修改后如下

http://img1.sycdn.imooc.com//climg/5f194a0d09efd83906920223.jpg

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~


  • 提问者 啊哈8373093 #1
    老师 职位仍然输出的是编号null
    2020-07-24 14:45:44
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

帮助反馈 APP下载

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

公众号

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

在线咨询

领取优惠

免费试听

领取大纲

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