3-8作业问题

3-8作业问题

package com.cn.Model;

/**
* Created by Administrator on 2017/10/17.
*/
public class employee {
       // 类型描述:能够描述员工姓名、工号、年龄、性别、所属部门、职务信息
   private String elyName;
   private String elyNo;
   private int elyAge;
   private String elySex;
   private Department elyDepartment;
   private Duty elyDuty;
   //无参构造
   public employee(){}
   //部分属性赋值
   public employee(String elyName,String elyNo,int elyAge,String elySex) {
       this.setElyName(elyName);
       this.setElyNo(elyNo);
       this.setElyAge(elyAge);
       this.setElySex(elySex);
   }

   // 给全部成员属性赋值
   public employee(String elyName,String elyNo,int elyAge,String elySex,Department elyDepartment,Duty elyDuty){
       this.setElyName(elyName);
       this.setElyNo(elyNo);
       this.setElyAge(elyAge);
       this.setElySex(elySex);
       this.setElyDepartment(elyDepartment);
       this.setElyDuty(elyDuty);
   }


   //gett和sett方法
   public String getElyName() {
       return elyName;
   }

   public void setElyName(String elyName) {
       this.elyName = elyName;
   }

   public String getElyNo() {
       return elyNo;
   }

   public void setElyNo(String elyNo) {
       this.elyNo = elyNo;
   }

   public int getElyAge() {
       return elyAge;
   }

   //设定方法限定年龄只能是18--65之间,反之则设置默认为18岁
   public void setElyAge(int elyAge) {
       if(elyAge < 18 || elyAge>65 )
           elyAge = 18;
       this.elyAge = elyAge;
   }

   public String getElySex() {
       return elySex;
   }

   //设定方法限定性别只能是“男”或者“女”,反之则设置默认为"男"
   public void setElySex(String elySex) {
      if(elySex.equals("男"))
          System.out.println("性别为男");
      else
          System.out.println("性别为女");
       this.elySex = elySex;
   }

   public Department getElyDepartment() {
       return elyDepartment;
   }

   public void setElyDepartment(Department elyDepartment) {
       this.elyDepartment = elyDepartment;
   }

   public Duty getElyDuty() {
       return elyDuty;
   }

   public void setElyDuty(Duty elyDuty) {
       this.elyDuty = elyDuty;
   }

   // 设定方法,实现员工自我介绍信息,将员工信息作为字符串返回
   public String introduce(Department elyDepartment,Duty elyDuty){
       String str = "员工姓名:"+this.getElyName()+"\n员工编号:"+this.getElyNo()+"\n员工年龄:"+this.getElyAge()
               +"\n员工性别:"+this.getElySex()+"\n员工部门:"+elyDepartment.getDptName()+"\n员工职务:"+elyDuty.getDuytName();
       return str;
   }
}

public class TestOS {
   public static void main(String[] args) {
       //测试部门类
       Department dt = new Department("s1", "人事部");
       Department dt1 = new Department("s2", "市场部");
       System.out.println("=========================================");
       //测试职务类
       Duty du = new Duty("s3", "经理");
       Duty du1 = new Duty("s4", "职员");
       Duty du2 = new Duty("s4", "助理");
       //测试员工类
       employee ely = new employee("张铭","S001",29,"男");
       System.out.println(ely.introduce(dt,du));

}

程序输出一开始就会验证输出这样的结果    

http://img1.sycdn.imooc.com//climg/59f5f291000153bd02790166.jpg

不知道为什么

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

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

1回答
喜欢做梦的鱼 2017-10-30 11:40:16
public void setElySex(String elySex) {
       if(elySex.equals("男"))
           System.out.println("性别为男");
       else
           System.out.println("性别为女");
        this.elySex = elySex;
    }

你在代码中进行了打印,而这个方法,在构造方法中进行了调用,所以,当执行

  employee ely = new employee("张铭","S001",29,"男");

的时候就会输出相关语句

另:同学请注意,即便你进行了性别信息打印,但是关于性别验证也是错误的,请考虑一下,如果setElySex方法传入的elySex值为“我也不知道自己什么性别”,你的程序会产生什么结果呢~~


  • 提问者 未知数X #1
    谢谢 已经修改了 //设定方法限定性别只能是“男”或者“女”,反之则设置默认为"男" public void setElySex(String elySex) { if(elySex.equals("男")|| elySex.equals("女")) this.elySex = elySex; else this.elySex = "男"; }
    2017-10-31 06:32:56
  • 一叶知秋519 回复 提问者 未知数X #2
    这样判断就没有问题啦 祝学习愉快~
    2017-10-31 10:22:26
  • 提问者 未知数X 回复 一叶知秋519 #3
    非常感谢你
    2017-10-31 14:59:48
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
微信客服

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

帮助反馈 APP下载

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

公众号

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

在线咨询

领取优惠

免费试听

领取大纲

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