import java.io.*;
import java.util.ArrayList;
class Employee
{
private String strEmpID;//员工编号
String chrGender;//性别
String strTelNumber;//电话号码
private double dblSalary;//工资
Employee(String strEmpID,String chrGender,String strTelNumber,double dblSalary)
{
this.setID(strEmpID);
this.chrGender=chrGender;
this.strTelNumber=strTelNumber;
this.setSalary(dblSalary);
}
//无参构造
Employee()
{
}
//一个参数构造
Employee(String chrGender)
{
this.chrGender=chrGender;
}
//设置员工编号
public void setID(String strEmpID)
{
this.strEmpID=strEmpID;
}
//返回员工编号
public String getID()
{
return strEmpID;
}
//设置员工性别
public String getChrGender()
{
return chrGender;
}
//设置员工工资
public void setSalary(double dblSalary)
{
this.dblSalary=dblSalary;
}
//返回员工工资
public double getSalary()
{
return dblSalary;
}
//设置员工电话
public void setTelNumber(String strTelNumber)
{
this.strTelNumber=strTelNumber;
}
//返回员工电话
public String getTelNumber()
{
return strTelNumber;
}
//录入员工信息及输入员工信息
public void Info()throws Exception
{
ArrayList<Employee> e=new ArrayList<Employee>();
System.out.println("***************************录入员工信息******************************");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int flag=0;//标记是否继续录入的标志
int i=0;//控制员工的人数
do
{
flag=0;
System.out.print("员工编号:");
this.strEmpID=br.readLine();
System.out.print("员工性别:");
chrGender=br.readLine();
System.out.print("员工电话:");
String strTelNumber=br.readLine();
System.out.print("员工工资:");
double dblSalary=Double.parseDouble(br.readLine());
System.out.println("是否继续录入员工信息(Y 继续 其他键停止录入)");
String ok=br.readLine();
//如果插入的员工信息与已经插入的不一样,则插入成功
boolean b=false;
// for(Employee emp:e)//遍历对象数组e
// {
// //比较输入的电话号码或者员工编号是否已经存在
// if(emp.getID().equals(this.strEmpID)||emp.getTelNumber().equals(this.strTelNumber))
// {
// b=true;
// break;
// }
// }
//遍历动态数组,判断是否有重复的员工信息的输入,或者用上面的方法更好
for(int j=0;j<e.size();j++)//注意ArrayList没有。length方法,只有size()方法
{
Employee emp=e.get(j);
if(emp.getID().equals(this.strEmpID)||emp.getTelNumber().equals(this.strTelNumber))
{
b=true;
System.out.println("查入失败,员工编号或电话号码不能重复");
//break;
}
}
if(!b)//如果输入的数据不重复,就将员工信息存放的动态数组e中
{
e.add(new Employee(strEmpID,chrGender, strTelNumber,dblSalary));
i++;//添加一个员工信息后,计数器加一,控制添加员工的人数
}
// else//如果信息重复,提示错误信息
// {
// System.out.println("查入失败,员工编号或电话号码不能重复");
// }
if(ok.equals("y")||ok.equals("Y"))//键盘控制事件
{
flag=1;
}
else//输出员工信息
{
System.out.println("****************员工基本信息表*******************");
System.out.println("员工编号\t\t员工性别\t\t员工电话\t\t员工工资");
for(int j=0;j<i;j++)
{
System.out.println(e.get(j).getID()+"\t\t\t"+e.get(j).getChrGender()+"\t\t\t"+e.get(j).getTelNumber()+"\t\t\t"+e.get(j).getSalary());
}
}
}
while (flag==1);
}
}
class EmployeeTest
{
public static void main(String []args)
{
Employee ee=new Employee();
try
{
ee.Info();
}
catch (Exception e)
{
System.out.println(e.toString());
}
}
};