Java day16:代码作业(人才管理系统)

“人才管理系统”

类描述:

人才信息,属性:姓名,性别,年龄,专业,毕业学校,掌握技能(list集合)

个人简历,继承人才信息,属性:个人简介

猎头公司,属性:公司名称,地址

接口描述:

  1. 增加人才信息
  2. 查询人才信息
  3. 根据年龄向控制台查询人才信息
  4. 根据专业向控制台查询人才信息
  5. 查询出技能中掌握java的人才信息
  6. 猎头公司可以查看人才系统所有人才
  7. 猎头公司根据选择的人才查看个人的简介

要求:

  1. 创建三个包,一个包为entity,存放类;一个包为service,存放所有属性接口;一个包为controller,存放测试类
  2. 增加人才信息时,每个人才信息创建一个文件夹单独存放,文件夹名称为姓名,文件夹内容为个人信息txt和个人介绍txt
  3. 循环展示人才管理系统的文件夹,通过判断控制台输入内容,查询到相应的人才文件夹,读取文件夹中txt内容,在控制台展示
  4. 所有输出语句均写在测试类中,方法🈯只做业务操作
  5. 类名要求按照帕斯卡命名法,首字母大写,其余单词字母均大写,例如:Student(学生类);属性要求按照匈牙利命名法命名,属性名=数据类型+描述,例如strName(姓名),intAge(年龄);方法名要求按照驼峰命名法命名,首字母小写,其余单词首字母大写,例如addStudent(新增学生)
package Service;

import java.util.List;
import Entity.Resume;
import Entity.SearchFirm;
//接口功能类
public interface Function {
	public abstract boolean addTalent(Resume t);//1、增加人才信息
	public abstract List<Resume> searchTalent();//2、查询人才信息
	public abstract List<Resume> searchTalentByAge(int intAge);//3、根据年龄向控制台查询人才信息
	public abstract List<Resume> searchTalentByMajor(String strMajor);//4、根据专业向控制台查询人才信息
	public abstract List<Resume> searchTalentByJava();//5、查询出技能中掌握java的人才信息
	public abstract List<Resume> allTalent(SearchFirm firm);//6、猎头公司可以查看人才系统所有人才
	public abstract String resumeByTalent(Resume t);//7、猎头公司根据选择的人才查看个人的简介
}


package Entity;

import java.util.List;
//Talent人才类
public class Talent {
	//属性:姓名,性别,年龄,专业,毕业学校,掌握技能(list集合)
	private String strName;
	private String strSex;
	private int intAge;
	private String strMajor;
	private String strSchoolTag;
	private List<String> listSkill;
	public String getStrName() {
		return strName;
	}
	public void setStrName(String strName) {
		this.strName = strName;
	}
	public String getStrSex() {
		return strSex;
	}
	public void setStrSex(String strSex) {
		this.strSex = strSex;
	}
	public int getIntAge() {
		return intAge;
	}
	public void setIntAge(int intAge) {
		this.intAge = intAge;
	}
	public String getStrMajor() {
		return strMajor;
	}
	public void setStrMajor(String strMajor) {
		this.strMajor = strMajor;
	}
	public String getStrSchoolTag() {
		return strSchoolTag;
	}
	public void setStrSchoolTag(String strSchoolTag) {
		this.strSchoolTag = strSchoolTag;
	}
	public List<String> getListSkill() {
		return listSkill;
	}
	public void setListSkill(List<String> listSkill) {
		this.listSkill = listSkill;
	}
	public Talent(String strName, String strSex, int intAge, String strMajor, String strSchoolTag,
			List<String> listSkill) {
		super();
		this.strName = strName;
		this.strSex = strSex;
		this.intAge = intAge;
		this.strMajor = strMajor;
		this.strSchoolTag = strSchoolTag;
		this.listSkill = listSkill;
	}
	public Talent() {
		super();
	}
}


package Entity;

import java.util.List;

//Resume个人简历类
public class Resume extends Talent{
	//继承人才信息,属性:个人简介
	private String strResume;

	public String getStrResume() {
		return strResume;
	}

	public void setStrResume(String strResume) {
		this.strResume = strResume;
	}

	public Resume(String strName, String strSex, int intAge, String strMajor, String strSchoolTag,
			List<String> listSkill, String strResume) {
		super(strName, strSex, intAge, strMajor, strSchoolTag, listSkill);
		this.strResume = strResume;
	}

	public Resume() {
		super();
	}

	public Resume(String strName, String strSex, int intAge, String strMajor, String strSchoolTag,
			List<String> listSkill) {
		super(strName, strSex, intAge, strMajor, strSchoolTag, listSkill);
	}

	@Override
	public String toString() {
		return "Resume [getStrName()="
				+ getStrName() + ", getStrSex()=" + getStrSex() + ", getIntAge()=" + getIntAge() + ", getStrMajor()="
				+ getStrMajor() + ", getStrSchoolTag()=" + getStrSchoolTag() + ", getListSkill()=" + getListSkill()
				+ ", getStrResume()=" + getStrResume() + "]\n";
	}
}


package Entity;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import Service.Function;

//SearchFirm猎头公司类
public class SearchFirm implements Function{
	//属性:公司名称,地址
	private String strName;
	private String strAddress;
	public SearchFirm(String strName, String strAddress) {
		super();
		this.strName = strName;
		this.strAddress = strAddress;
	}
	public SearchFirm() {
		super();
	}
	public String getStrName() {
		return strName;
	}
	public void setStrName(String strName) {
		this.strName = strName;
	}
	public String getStrAddress() {
		return strAddress;
	}
	public void setStrAddress(String strAddress) {
		this.strAddress = strAddress;
	}
	@Override
	public boolean addTalent(Resume t) {//1、增加人才信息
		boolean isOk=false;
		File f0=new File(".\\Talent\\"+t.getStrName());
		if(!f0.exists()){
			f0.mkdirs();
		}
		File f1=new File(".\\Talent\\"+t.getStrName()+"\\个人信息.txt");
		if(!f1.exists()){
			try {
				f1.createNewFile();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		File f2=new File(".\\Talent\\"+t.getStrName()+"\\个人介绍.txt");
		if(!f2.exists()){
			try {
				f1.createNewFile();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		//String strName, String strSex, int intAge, String strMajor, String strSchoolTag,
		//List<String> listSkill, String strResume
		String str1=t.getStrName()+","+t.getStrSex()+","+t.getIntAge()+","+t.getStrMajor()+","+t.getStrSchoolTag();
		for (int i = 0; i < t.getListSkill().size(); i++) {
			str1+=","+t.getListSkill().get(i);
		}
		String str2=t.getStrResume();
		try {
			FileWriter fw= new FileWriter(f1);
			BufferedWriter bw=new BufferedWriter(fw,1024);
			bw.write(str1);
			bw.close();
			fw.close();
			FileWriter fw2= new FileWriter(f2);
			BufferedWriter bw2=new BufferedWriter(fw2,1024);
			bw2.write(str2);
			bw2.close();
			fw2.close();
			isOk=true;
		} catch (IOException e) {
			e.printStackTrace();
		}
		return isOk;
	}
	@Override
	public List<Resume> searchTalent() {
		List<Resume> listResume=new ArrayList<Resume>();
		File f0=new File(".\\Talent");
		String[] strs=f0.list();
		try {
			for (int i = 0; i < strs.length; i++) {
				File f1=new File(".\\Talent\\"+strs[i]+"\\个人信息.txt");
				FileReader fr= new FileReader(f1);
				BufferedReader br=new BufferedReader(fr,1024);
				int temp=0;
				String strTxt="";
				while((temp=br.read())!=-1){
					strTxt+=(char)temp;
				}
				String[] strTxtS=strTxt.split(",");
				List<String> listSkillTxt=new ArrayList<String>();
				for (int j = 5; j < strTxtS.length; j++) {
					listSkillTxt.add(strTxtS[j]);
				}
				br.close();
				fr.close();
				File f2=new File(".\\Talent\\"+strs[i]+"\\个人介绍.txt");
				FileReader fr2=new FileReader(f2);
				BufferedReader br2=new BufferedReader(fr2,1024);
				int temp2=0;
				String strTxt2="";
				while((temp2=br2.read())!=-1){
					strTxt2+=(char)temp2;
				}
				br2.close();
				fr2.close();
				Resume a=new Resume(strTxtS[0],strTxtS[1],Integer.parseInt(strTxtS[2]),strTxtS[3],strTxtS[4],listSkillTxt,strTxt2);
				listResume.add(a);
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return listResume;
	}
	@Override
	public List<Resume> searchTalentByAge(int intAge) {//3、根据年龄向控制台查询人才信息
		List<Resume> listResume=searchTalent();
		List<Resume> listS=new ArrayList<Resume>();
		Resume r=null;
		for (int i = 0; i <listResume.size(); i++) {
			if(listResume.get(i).getIntAge()==intAge){
				r=listResume.get(i);
				listS.add(r);
			}
		}
		return listS;
	}
	@Override
	public List<Resume> searchTalentByMajor(String strMajor) {//4、根据专业向控制台查询人才信息
		List<Resume> listResume=searchTalent();
		List<Resume> listS=new ArrayList<Resume>();
		Resume r=null;
		for (int i = 0; i <listResume.size(); i++) {
			if(listResume.get(i).getStrMajor().equals(strMajor)){
				r=listResume.get(i);
				listS.add(r);
			}
		}
		return listS;
	}
	@Override
	public List<Resume> searchTalentByJava() {//5、查询出技能中掌握java的人才信息
		List<Resume> listResume=searchTalent();
		List<Resume> listS=new ArrayList<Resume>();
		Resume r=null;
		for (int i = 0; i <listResume.size(); i++) {
			List<String> listSkillS= listResume.get(i).getListSkill();
			for (int j = 0; j < listSkillS.size(); j++) {
				if("Java".equals(listSkillS.get(j))){
					r=listResume.get(i);
					listS.add(r);
				}
			}
		}
		return listS;
	}
	@Override
	public List<Resume> allTalent(SearchFirm firm) {
		return searchTalent();
	}
	@Override
	public String resumeByTalent(Resume t) {
		String str=t.getStrResume();
		return str;
	}
}


package Controller;

import java.util.ArrayList;
import java.util.List;
import Entity.Resume;
import Entity.SearchFirm;

//测试类
public class Test {

	public static void main(String[] args) {
		//初始人才数据
		List<String> strSkill=new ArrayList<String>();
		strSkill.add("Java");
		strSkill.add("Html");
		strSkill.add("C");
		strSkill.add("C++");
		Resume re1=new Resume("张三","女",18,"数字媒体技术","吉林大学",strSkill,"努力刻苦");
		List<String> strSkill2=new ArrayList<String>();
		strSkill2.add("Html");
		strSkill2.add("C");
		strSkill2.add("C++");
		Resume re2=new Resume("李四","男",19,"计算机科学与技术","北京邮电大学",strSkill2,"勤学好问");
		List<String> strSkill3=new ArrayList<String>();
		strSkill3.add("Html");
		strSkill3.add("C");
		strSkill3.add("C++");
		Resume re3=new Resume("王五","女",18,"数字媒体技术","北京邮电大学",strSkill3,"愿意加班");
		List<String> strSkill4=new ArrayList<String>();
		strSkill3.add("Html");
		strSkill3.add("C++");
		Resume re4=new Resume("楚六","男",19,"数字媒体技术","北京邮电大学",strSkill4,"智商高");
		//初始公司数据
		SearchFirm firm=new SearchFirm("神州","北京");
		//1、增加人才信息
		firm.addTalent(re1);
		firm.addTalent(re2);
		firm.addTalent(re3);
		firm.addTalent(re4);
		//2、查询人才信息
		firm.searchTalent();
		System.out.println("******查询人才信息功能******");
		System.out.println(firm.searchTalent().toString());
		//3、根据年龄向控制台查询人才信息
		firm.searchTalentByAge(18);
		System.out.println("******根据年龄向控制台查询人才信息******");
		System.out.println(firm.searchTalentByAge(18).toString());
		//4、根据专业向控制台查询人才信息
		firm.searchTalentByMajor("数字媒体技术");
		System.out.println("******根据专业向控制台查询人才信息******");
		System.out.println(firm.searchTalentByMajor("数字媒体技术").toString());
		//5、查询出技能中掌握java的人才信息
		firm.searchTalentByJava();
		System.out.println("******查询出技能中掌握java的人才信息******");
		System.out.println(firm.searchTalentByJava().toString());
		//6、猎头公司可以查看人才系统所有人才
		firm.allTalent(firm);
		System.out.println("******猎头公司可以查看人才系统所有人才******");
		System.out.println(firm.allTalent(firm).toString());
		//7、猎头公司根据选择的人才查看个人的简介
		firm.resumeByTalent(re3);
		System.out.println("******猎头公司根据选择的人才查看个人的简介******");
		System.out.println(firm.resumeByTalent(re3).toString());
		
	}
}

 运行结果:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值