哈喽,我是兔哥呀,今天就让我们继续这个JavaSE成神之路!
这一节啊,咱们要学习的内容是...啊不对,这一节咱们来考试,算是期中考试吧。
目前我们已经学习了Java的很多基础知识了,那么怎么检查自己到底学的怎么样呢?
最好的办法,就是通过一场考试,来检验一下学习效果啦。
首先来看下业务场景,我们是一家软件公司,现在新发布一个【java高级软件开发】的招聘,预计招收2个人,月薪25k,要求年龄25周岁以下,并且需要有30年工作经验,不符合要求的简历将被系统自动过滤。
请编写Java程序来实现这个简历筛查工作。(忽略面试环节,符合招聘要求的自动视为录取)
需求分析:
1、简历类
属性:姓名(String)、年龄(int)、工作年限(int)、投递岗位(用岗位类的引用) 方法:介绍(打印个人信息)
2、岗位类 属性:岗位名称(String)、月薪(float)、简历(用简历类的数组)、已接收简历(int) 方法:介绍(打印岗位信息)、添加简历(需要对年龄和工作年限进行校验)
自行编写测试类,要求注释清晰,类结构合理。
参考答案:
package com.company.bean;/**** Resume类用于定义简历信息** @author 作者名* @version 1.0**/
public class Resume {// 姓名private String name;// 年龄private int age;// 工作年限private int workYear;// 职位private Position position;/*** 构造函数* @param name 姓名* @param age 年龄* @param workYear 工作年限* @param position 职位*/public Resume(String name, int age, int workYear, Position position) {this.name = name;this.age = age;this.workYear = workYear;this.position = position;}/*** 获取姓名* @return 姓名*/public String getName() {return name;}/*** 设置姓名* @param name 姓名*/public void setName(String name) {this.name = name;}/*** 获取年龄* @return 年龄*/public int getAge() {return age;}/*** 设置年龄* @param age 年龄*/public void setAge(int age) {this.age = age;}/*** 获取工作年限* @return 工作年限*/public int getWorkYear() {return workYear;}/*** 设置工作年限* @param workYear 工作年限*/public void setWorkYear(int workYear) {this.workYear = workYear;}/*** 获取职位* @return 职位*/public Position getPosition() {return position;}/*** 设置职位* @param position 职位*/public void setPosition(Position position) {this.position = position;}/*** 介绍简历信息*/public void introduce() {System.out.println("姓名: " + name + " ,年龄: " + age + " ,工作年限: " + workYear + " ,职位: " + position.getName());}
}
package com.company.bean;/**** Position类用于定义职位信息** @author 作者名* @version 1.0**/
public class Position {// 职位名称private String name;// 职位薪资private double salary;// 简历信息private Resume[] resumes = new Resume[2];// 已接受的简历数量private int acceptedResumes = 0;/*** 构造函数* @param name 职位名称* @param salary 职位薪资*/public Position(String name, double salary) {this.name = name;this.salary = salary;}/*** 获取职位名称* @return 职位名称*/public String getName() {return name;}/*** 获取职位薪资* @return 职位薪资*/public double getSalary() {return salary;}/*** 介绍职位信息*/public void introduce() {System.out.println("职位:" + name + ",薪资:" + salary);}/*** 添加简历* @param resume 简历信息*/public void addResume(Resume resume) {//判断招聘是否结束?if(acceptedResumes == resumes.length ){System.out.println("已经招满了,不招了!");System.exit(0);return;}// 年龄小于25岁并且工作年限大于30年的简历接受if (resume.getAge() < 25 && resume.getWorkYear() > 30) {resumes[acceptedResumes] = resume;acceptedResumes++;} else {System.out.println(resume.getName() + "的简历被刷掉了!");}}
}
package com.company.test;import com.company.bean.Position;
import com.company.bean.Resume;// 测试类
public class TestPosition {public static void main(String[] args) {Position position = new Position("Java高级软件开发", 25000);position.introduce();Resume resume1 = new Resume("张三", 24, 32, position);position.addResume(resume1);resume1.introduce();Resume resume2 = new Resume("李四", 30, 30, position);resume2.introduce();position.addResume(resume2);Resume resume3 = new Resume("王五", 22, 38, position);position.addResume(resume3);resume3.introduce();Resume resume4 = new Resume("赵六", 22, 38, position);position.addResume(resume4);resume4.introduce();}
}
职位:Java高级软件开发,薪资:25000.0
姓名: 张三 ,年龄: 24 ,工作年限: 32 ,职位: Java高级软件开发
姓名: 李四 ,年龄: 30 ,工作年限: 30 ,职位: Java高级软件开发
李四的简历被刷掉了!
姓名: 王五 ,年龄: 22 ,工作年限: 38 ,职位: Java高级软件开发
已经招满了,不招了!