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

用ArrayList写的员工信息的录入(实现不能录入重复的)

J# 
阅读更多
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());
	  }
	}
	
};

 

分享到:
评论

相关推荐

    JAVA学生教师信息录入小系统

    - **ArrayList或LinkedList**:为了存储和管理大量的学生和教师信息,系统可能会使用这些集合类,方便增删改查操作。 - **HashMap或TreeMap**:可能使用这些数据结构进行快速查找,通过键值对形式存储姓名与对应的...

    java员工工资录入实例

    ArrayList&lt;Yuangong&gt; arr=new ArrayList(); boolean zt=false; Yuangong yg=new Yuangong(); while(true){ if(zt==false){ System.out.println("1.输入数据");} else{System.out.println("1输入数据 0显示");} ...

    java小程序之简单学生信息录入界面

    本项目“java小程序之简单学生信息录入界面”展示了如何使用Java控件Windows Builder来设计一个直观且易于操作的界面,以实现学生信息的录入功能。Windows Builder是Eclipse IDE中的一个插件,它允许开发者通过图形...

    java职员录入信息

    在Java编程领域,"java职员录入信息"是一个常见的应用场景,涉及到数据的收集、处理和存储。这个主题涵盖了许多核心的Java技术,包括面向对象编程、输入/输出(I/O)流、集合框架、数据库连接以及用户界面设计。下面将...

    学生信息录入 java

    【标题解析】:“学生信息录入 java”这个标题表明我们讨论的是一个使用Java编程语言实现的学生信息录入系统。这个系统可能是为了方便学校管理学生的个人信息,比如姓名、年龄、性别、成绩等,通过编程的方式将这些...

    2、C#学生基本信息录入程序

    在本项目中,我们关注的是一个使用C#编程语言编写的“学生基本信息录入程序”。C#(读作"C sharp")是一种由微软公司推出的面向对象的编程语言,它被广泛应用于开发Windows桌面应用、Web应用以及游戏开发等领域。C#...

    跟我学Java-day15-学员管理系统.pdf

    3.1 定义一个方法,接收ArrayList集合 3.2 方法内完成添加学生的功能 ①键盘录入学生信息 ②根据录入的信息创建学生对象 ③将学生对象添加到集合中 ④提示添加成功信息 3.3 在添 加学生的选项里调用添加学生的方法...

    java GUI用户信息录入及查询

    查询功能的实现可能利用了Java集合框架,如ArrayList或LinkedList存储用户信息,或者使用更高效的数据结构,如HashMap,以姓名、ID等为键,关联相应的个人信息。在查询时,可以通过键值匹配实现快速查找。如果数据量...

    Android使用sqlite数据库实现学生信息录入与显示

    本文将详细介绍如何在Android中使用SQLite数据库实现学生信息的录入、显示以及删除所有记录的功能。 首先,我们需要创建一个SQLite数据库。在Android中,我们通常通过扩展`SQLiteOpenHelper`类来实现。`...

    KL.rar_eclipse 录入

    系统实现了员工数据的基本管理功能,包括增加新员工记录、删除员工信息、查询现有员工和更新员工详情。这些功能是数据库管理系统中的基础操作,对于理解和掌握面向对象编程及数据管理非常有帮助。 在Java中,实现...

    这是一个关于通讯录录入查询存储的JAVA程序

    该通讯录可查询,且可实现永久存储功能。界面清晰,方便查看,可录入信息

    利用MSHFlexGrid控件批量录入数据

    此外,还可以通过绑定数据源(如DataTable或ArrayList)来实现数据的保存和加载,进一步提升应用的灵活性。 在实际项目中,考虑到MSHFlexGrid控件的局限性和现代开发趋势,开发者可能会选择使用更现代的控件,如WPF...

    Java入门小实验:简易学生信息管理系统(窗体实现)

    为了存储学生信息,我们通常会使用ArrayList或LinkedList等集合类。这些类提供了动态数组的功能,可以方便地添加、删除和查找元素。每个元素代表一个学生对象,包含了学生的各项属性。 此外,文件I/O操作也可能出现...

    StuInf.rar_java 录入_stuinf

    【标题】"StuInf.rar_java 录入_stuinf" 涉及到的是一个使用Java编程语言实现的学生信息录入系统。这个系统主要是为了帮助用户通过图形用户界面(GUI)来输入和管理学生的基本信息。 【描述】"采用Java编程,实现...

    javaGUI成绩录入和排序文件读取

    在本项目中,可能使用了JFrame作为主窗口,JTable用于展示和编辑学生信息,JButton实现交互功能,JOptionPane用于提示信息或接收用户输入。开发者需要理解组件的布局管理,如FlowLayout、BorderLayout、GridLayout和...

    基础java的员工信息管理系统项目.zip

    本项目“基础java的员工信息管理系统项目”是一个典型的人工智能项目实践,旨在通过Java编程语言实现一个简易的信息管理平台,帮助用户进行员工信息的录入、查询、修改和删除等操作。在这个项目中,我们将深入探讨...

    JavaArrayList实现学生档案管理系统

    * 1-13-1学生档案管理 ... out提示信息,采田scanner录入学生信息,保存至集合。 2.查看全部学生信息。 3.按学生姓名查询该学生信息。 4.创建学生类,记录保存至集合。 5添加专业,按专业查询学生信息

    VB 数组的大批量录入

    除了从文件中批量录入,你还可以使用For循环结合其他数据结构(如ArrayList或List)来一次性填充数组。例如,如果你有一个ArrayList包含了所有要录入的数据,可以这样做: ```vb Dim dataList As New ArrayList '...

    JAVA图形化界面实现学生成绩的录入与管理

    "JAVA图形化界面实现学生成绩的录入与管理"是一个典型的案例,它涉及到使用JAVA的Swing或JavaFX库来设计和实现一个界面,用于录入、查看、修改和管理学生成绩。下面将详细介绍这一领域的关键知识点。 首先,我们...

    day07【Scanner类、Random类、ArrayList类】1

    这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可。 使用API的步骤包括: 1. 打开帮助文档 2. 点击显示,找到索引,看到输入框 3. 输入要找的类名,然后回车 4...

Global site tag (gtag.js) - Google Analytics