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进行简单的员工信息管理系统开发,特别关注员工的部分信息录入,包括职工信息、家庭信息以及外语能力。我们将利用MySQL数据库作为数据存储解决方案。 首先,让我们从Java编程...
在“huari员工基础信息录入”项目中,我们聚焦于为一家名为huari的公司构建一个基础的员工信息管理系统。这个系统的主要目的是有效地管理和存储员工的基本资料,以便于日常的人力资源管理。从提供的标签“源码”和...
员工信息录入.xlsx源码EXCEL VBA宏编程xlsx实例代码下载员工信息录入.xlsx源码EXCEL VBA宏编程xlsx实例代码下载员工信息录入.xlsx源码EXCEL VBA宏编程xlsx实例代码下载员工信息录入.xlsx源码EXCEL VBA宏编程xlsx实例...
在EXCEL的VBA中使用窗体进行员工信息录入和查询
员工考核录入系统,用VBA实现将时间录入。员工考核录入系统,用VBA实现将时间录入。员工考核录入系统,用VBA实现将时间录入。员工考核录入系统,用VBA实现将时间录入。员工考核录入系统,用VBA实现将时间录入。员工...
【Java实战开发企业级员工信息管理系统视频教程】 此项目所采用的技术架构:spring + spring mvc + hibernate + jQuery + Bootstrap
在IT行业中,开发一个新员工信息录入系统是常见的任务,特别是在人力资源管理软件中。本项目主要涉及使用Java Swing库来创建用户界面,并与数据库交互,实现数据的存储。以下是关于这个项目的详细知识点: 1. **...
上面这些添加信息到数据库表中的操作基本上是类似的,在三层体系结构中,表示层提供添加信息的录入界面,业务逻辑层实现具体的业务逻辑,数据访问层负责把新数据添加到数据库表中。本章以添加员工信息为例来介绍向...
在本项目中,我们将探讨如何使用VBA来实现员工打卡信息的自动录入到Excel模板中。 首先,我们需要理解VBA的基本结构和语法。VBA是基于Visual Basic的,因此它的语法与标准VB相似。在Excel中,我们可以通过“开发者...
员工信息录入</title> <style> .btn1{ color: blue; background: skyblue; text-align: center; } </style> </head> <body> 员工信息录入 姓名:</lab
员工信息录入表单介绍.zip" 的压缩包中,我们聚焦于一个关键的Web开发主题:如何使用SSH(Struts2、Spring、Hibernate)框架,Maven构建工具以及Bootstrap前端框架来创建员工信息录入的表单。这个视频教程可能包含...
该系统能够实现员工信息的录入、删除、修改和添加等一系列操作,极大地提高了人力资源部门的工作效率,减少了人为错误的可能性。 在企业中,员工信息管理是一项基础且繁重的任务,涉及到员工的基本信息、工作履历、...
6. **数组**:如果实验涉及录入多员工的信息,你可能会用到数组,这是一个可以存储多个相同类型元素的数据结构。你可以定义一个数组来保存所有员工的姓名、年龄或其他信息。 7. **内存管理**:虽然这可能是更高级的...
5. 数据修改与删除:提供对已录入信息的修改和删除功能,保持数据的实时性和准确性。这些操作同样通过ADO.NET完成,同时需要注意事务处理以防止数据一致性问题。 6. 报表生成:可以利用Access的报表功能,或者.NET...
我在学习java框架时,用于亲自实践的实验级小项目。一个很简单的学生信息录入系统,采用struts+hibernate架构,用MyEclipse开发,目的是加深对struts、hibernate框架的理解。内附详细的说明文档