`
郑云飞
  • 浏览: 822117 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

自己写的员工信息的录入

 
阅读更多
package student;

public class Employee
{
	String strEmpID;
	char chrGender;
	String strTElNumber;
	double dblSalary;
	public Employee(String strEmpID, char chrGender, String strTElNumber,
			double dblSalary)
	{
		
		this.strEmpID = strEmpID;
		this.chrGender = chrGender;
		this.strTElNumber = strTElNumber;
		this.dblSalary = dblSalary;
	}
	public String getStrEmpID()
	{
		return strEmpID;
	}
	public void setStrEmpID(String strEmpID)
	{
		this.strEmpID = strEmpID;
	}
	public double getDblSalary()
	{
		return dblSalary;
	}
	public void setDblSalary(double dblSalary)
	{
		this.dblSalary = dblSalary;
	}
	public void raiseSalary(double dblProportion)
  {
		System.out.println("最终工资:"+dblSalary*(1+dblProportion));
  }
	public String toString()
	{
		
		return "****************员工基本信息****************\n"+"编号:"+strEmpID+"\t性别:"+chrGender+"\t电话号码:"+strTElNumber+"\t工资:"+dblSalary+"\n";
	}
	
}

 

package student;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;

public class EmployeeTest
{
	private static String strEmpID;
	private static char chrGender;
	private static String strTElNumber;
	private static double dblSalary;
	private static String strOfficeId;
	private static String isGoOn;//定义一个(从键盘接受的字符串)是否继续录入的变量
	private static boolean isGoOnInput=true;//循环录入的标志
	private static boolean isTrue=true;//判断员工类型正确一否的标志
	private static boolean isstrEmpIDexsit=true;//判断员工编号是否重复的标志
	public static void main(String[] args) throws IOException
	{
		repeatInputEmployeeInfo();
	}
	/*********************定义一个方法,用于重复录入员工信息************************/
	private static void repeatInputEmployeeInfo() throws IOException
	{
		HashMap<String, Employee> hm=new HashMap<String, Employee>();
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		while(isGoOnInput)
		{
			isGoOnInput=false;
			isstrEmpIDexsit = inputEmployeeInfo(hm, br, isstrEmpIDexsit);
			isTrue = judgeOfEmployeeType(hm, br, isTrue, strEmpID, chrGender,strTElNumber, dblSalary);
    		judegIsOrNotInputEmployeeInfo(hm, br);
		}
	}
	/*********************定义一个方法,用于重复录入员工信息 END************************/
	
/************************定义一个方法,判断用户是否循环录入员工信息***********************/
	private static void judegIsOrNotInputEmployeeInfo(HashMap<String, Employee> hm, BufferedReader br) throws IOException
	{
		System.out.println("是否继续录入员工基本信息:(y 继续)(请他键退出)");
		 isGoOn=br.readLine();
		if(isGoOn.equals("y")||isGoOn.equals("Y"))
		{
			isGoOnInput=true;
			isstrEmpIDexsit=true;
			isTrue=true;
		}
		else
		{
		  System.out.println(hm);
			isGoOnInput=false;
		}
	}
	/************************定义一个方法,判断用户是否循环录入员工信息   END***********************/
	
	/************************定义一个方法,判断用户输入的员工编号是否已经存在,系统规定员工编号不能重复***********************/
	private static boolean inputEmployeeInfo(HashMap<String, Employee> hm,BufferedReader br, boolean isstrEmpIDexsit) throws IOException
	{
		while(isstrEmpIDexsit)
		{
			isstrEmpIDexsit=false;
			System.out.println("请输入员工编号:");
		    strEmpID=br.readLine();
		    if(!hm.isEmpty())
		    {
		    	if(hm.containsKey(strEmpID))
		    	{
		    		System.out.println("员工编号已经存在,请换一个员工编号");
					isstrEmpIDexsit=true;
		    	}
		    }
		    
		}
		System.out.println("请输入员工性别:");
		chrGender=br.readLine().toCharArray()[0];
		System.out.println("请输入员工电话:");
		strTElNumber=br.readLine();
		System.out.println("请输入员工的工资:");
		dblSalary=Double.parseDouble(br.readLine());
		return isstrEmpIDexsit;
	}
	/************************定义一个方法,判断用户输入的员工编号是否已经存在,系统规定员工编号不能重复   END*********************/
	
	/************************定义一个方法,判断用于录入员工的类型***********************/
	private static boolean judgeOfEmployeeType(HashMap<String, Employee> hm,BufferedReader br, boolean isTrue, String strEmpID, char chrGender,String strTElNumber, double dblSalary) throws IOException
	{
		while(isTrue)
		{
			isTrue=false;
			System.out.println("请选择输入的员工类型:1 经理信息  2 员工信息");
			String type=br.readLine();
		
			if(type.equals("1"))//是经理信息
			{
				System.out.println("请输入经理的办公室编号:");
			    strOfficeId=br.readLine();
				Manager manager=new Manager(strEmpID,chrGender,strTElNumber,dblSalary,strOfficeId);
			    hm.put(strEmpID, manager);
			}
			else if(type.equals("2"))
			{
				Employee employee=new Employee(strEmpID,chrGender,strTElNumber,dblSalary);
				hm.put(strEmpID, employee);
			}
			else
			{
				System.out.println("请选择的员工类型有误!,请重新选择1: 经理信息  2: 员工信息");
				isTrue=true;
			}
		}
		return isTrue;
	}
	/************************定义一个方法,判断用于录入员工的类型  END***********************/
}

 

package student;

public class Manager extends Employee
{
	String strOfficeId;
	double dblBonus;
	public Manager(String strEmpID, char chrGender, String strTElNumber,double dblSalary, String strOfficeId)
	{
		super(strEmpID, chrGender, strTElNumber, dblSalary);
		this.strOfficeId = strOfficeId;
	}
	public String getStrOfficeId()
	{
		return strOfficeId;
	}
	public void setStrOfficeId(String strOfficeId)
	{
		this.strOfficeId = strOfficeId;
	}
	public double getDblBonus()
	{
		return dblBonus;
	}
	public void setDblBonus(double dblBonus)
	{
		this.dblBonus = dblBonus;
	}
	public void raiseSalary(double dblProportion)
	{
		System.out.println("最终工资:"+dblSalary*(1+dblProportion)*(1+0.1));
	}
	@Override
	public String toString()
	{
		
		return "****************经理基本信息****************\n"+"编号:"+strEmpID+"\t性别:"+chrGender+"\t电话号码:"+strTElNumber+"\t工资:"+dblSalary+"\t办公室编号:"+strOfficeId+"\n";
	}
	
}

 

分享到:
评论

相关推荐

    简单java员工部分信息录入

    在本文中,我们将深入探讨如何使用Java进行简单的员工信息管理系统开发,特别关注员工的部分信息录入,包括职工信息、家庭信息以及外语能力。我们将利用MySQL数据库作为数据存储解决方案。 首先,让我们从Java编程...

    huari员工基础信息录入

    在“huari员工基础信息录入”项目中,我们聚焦于为一家名为huari的公司构建一个基础的员工信息管理系统。这个系统的主要目的是有效地管理和存储员工的基本资料,以便于日常的人力资源管理。从提供的标签“源码”和...

    员工信息录入.xlsx源码EXCEL VBA宏编程xlsx实例代码下载

    员工信息录入.xlsx源码EXCEL VBA宏编程xlsx实例代码下载员工信息录入.xlsx源码EXCEL VBA宏编程xlsx实例代码下载员工信息录入.xlsx源码EXCEL VBA宏编程xlsx实例代码下载员工信息录入.xlsx源码EXCEL VBA宏编程xlsx实例...

    员工信息录入系统.xlsm

    在EXCEL的VBA中使用窗体进行员工信息录入和查询

    员工考核录入系统(VBA代码实现)

    员工考核录入系统,用VBA实现将时间录入。员工考核录入系统,用VBA实现将时间录入。员工考核录入系统,用VBA实现将时间录入。员工考核录入系统,用VBA实现将时间录入。员工考核录入系统,用VBA实现将时间录入。员工...

    【Java实战教程】06. 员工信息录入表单介绍.haozip01

    【Java实战开发企业级员工信息管理系统视频教程】 此项目所采用的技术架构:spring + spring mvc + hibernate + jQuery + Bootstrap

    录入新员工的信息

    在IT行业中,开发一个新员工信息录入系统是常见的任务,特别是在人力资源管理软件中。本项目主要涉及使用Java Swing库来创建用户界面,并与数据库交互,实现数据的存储。以下是关于这个项目的详细知识点: 1. **...

    C#人力资源管理系统信息录入模块

    上面这些添加信息到数据库表中的操作基本上是类似的,在三层体系结构中,表示层提供添加信息的录入界面,业务逻辑层实现具体的业务逻辑,数据访问层负责把新数据添加到数据库表中。本章以添加员工信息为例来介绍向...

    员工打卡录入系统,用VBA实现员工打卡信息录入Excel模板程序

    在本项目中,我们将探讨如何使用VBA来实现员工打卡信息的自动录入到Excel模板中。 首先,我们需要理解VBA的基本结构和语法。VBA是基于Visual Basic的,因此它的语法与标准VB相似。在Excel中,我们可以通过“开发者...

    vue实现员工信息录入功能

    员工信息录入&lt;/title&gt; &lt;style&gt; .btn1{ color: blue; background: skyblue; text-align: center; } &lt;/style&gt; &lt;/head&gt; &lt;body&gt; 员工信息录入 姓名:&lt;/lab

    [SSH+Maven+Bootstrap视频教程]_06. 员工信息录入表单介绍.zip

    员工信息录入表单介绍.zip" 的压缩包中,我们聚焦于一个关键的Web开发主题:如何使用SSH(Struts2、Spring、Hibernate)框架,Maven构建工具以及Bootstrap前端框架来创建员工信息录入的表单。这个视频教程可能包含...

    员工信息管理系统-录入、删除

    该系统能够实现员工信息的录入、删除、修改和添加等一系列操作,极大地提高了人力资源部门的工作效率,减少了人为错误的可能性。 在企业中,员工信息管理是一项基础且繁重的任务,涉及到员工的基本信息、工作履历、...

    C实验员工的基本信息录入练习

    6. **数组**:如果实验涉及录入多员工的信息,你可能会用到数组,这是一个可以存储多个相同类型元素的数据结构。你可以定义一个数组来保存所有员工的姓名、年龄或其他信息。 7. **内存管理**:虽然这可能是更高级的...

    .net 毕业设计学生员工基本信息录入系统

    5. 数据修改与删除:提供对已录入信息的修改和删除功能,保持数据的实时性和准确性。这些操作同样通过ADO.NET完成,同时需要注意事务处理以防止数据一致性问题。 6. 报表生成:可以利用Access的报表功能,或者.NET...

    Struts+Hibernate学生信息录入系统(附文档,测试可运行)

    我在学习java框架时,用于亲自实践的实验级小项目。一个很简单的学生信息录入系统,采用struts+hibernate架构,用MyEclipse开发,目的是加深对struts、hibernate框架的理解。内附详细的说明文档

Global site tag (gtag.js) - Google Analytics