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

用Map写的员工信息的录入(逻辑业务统统写一块了)

 
阅读更多
//package app1;
import java.io.*;
import java.util.HashMap;
import java.util.Iterator;//迭代器
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
	{
		
		HashMap<String, Employee> e=new HashMap<String, Employee>();
		System.out.println("***************************录入员工信息******************************");
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		int flag=0;//标记是否继续录入的标志
		int i=0;//控制员工的人数
		do
		{  
			try
			{
				flag=0;
				System.out.print("员工编号:");
				this.strEmpID=br.readLine();
				System.out.print("员工性别:");
				chrGender=br.readLine();
				System.out.print("员工电话:");
				this.strTelNumber=br.readLine();
				System.out.print("员工工资:");
				this.dblSalary=Double.parseDouble(br.readLine());
				System.out.println("是否继续录入员工信息(Y 继续 其他键停止录入)");
				String ok=br.readLine();
				//如果插入的员工信息与已经插入的不一样,则插入成功
				if(!e.containsKey(strEmpID))
				{
				   e.put(strEmpID, new Employee(strEmpID,chrGender, strTelNumber,dblSalary));
				}
				else
				{
					System.out.println("查入失败,员工编号或电话号码不能重复");
				}
				if(ok.equals("y")||ok.equals("Y"))//键盘控制事件
				{
					flag=1;
					i++;
				}
				else//输出员工信息
				{
					System.out.println("****************员工基本信息表*******************");
					System.out.println("员工编号\t\t员工性别\t\t员工电话\t\t员工工资");
					for (Iterator<String> it = e.keySet().iterator();it.hasNext();)
						{
						String str = it.next();
						System.out.println(e.get(str).getID()+"\t\t\t"+e.get(str).getChrGender()+"\t\t\t"+e.get(str).getTelNumber()+"\t\t\t"+e.get(str).getSalary());
					   }
				}
			
		   }
		  catch(Exception eee)//捕获输入的错误信息
			{   	
			  System.out.println("输入错误,请重新输入:");flag=1;continue;
			}	
	 }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理解程序逻辑第14章.zip

    在本资源包“使用Java理解程序逻辑第14章.zip”中,重点是通过Java语言来深入理解程序逻辑。这通常意味着我们将探讨控制流程、循环、条件语句、函数以及可能涉及的数据结构等核心概念。JavaSE(Java Standard ...

    java实现的学生管理系统

    这个系统通常包括一系列的功能,如学生信息录入、查询、修改、删除,成绩管理,课程安排,以及报告生成等。下面我们将深入探讨这个系统的一些核心知识点。 1. **Java基础**:Java是这个系统的基础,它是一种跨平台...

    学生成绩管理系统c++

    1. 类与对象的设计:`Student`类应包括私有属性如`name`、`ID`以及一个表示成绩的`vector`或`map`。这些数据结构可以用来存储各科成绩,例如,使用键值对形式,键为科目名,值为对应成绩。`GradeSystem`类则包含一个...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例134 使用代码块实现线程同步 174 实例135 使用特殊域变量实现线程同步 175 实例136 使用重入锁实现线程同步 176 实例137 使用线程局部变量实现线程同步 177 实例138 简单的线程通信 179 实例139 简单的线程死锁 ...

    Java图书管理系统

    在图书管理系统中,模型负责处理业务逻辑和数据,视图负责展示,控制器则处理用户交互。 5. **事件处理**:Swing提供了一套事件监听机制,通过实现ActionListener接口处理按钮点击、文本框输入等事件。开发者需要...

    课程设计_c++语言_课程作业_图书管理系统_

    图书管理系统是一个典型的数据库管理系统,它主要用于自动化图书馆的日常运营,包括图书的录入、查询、借阅、归还以及各种统计分析功能。这个项目将帮助学生掌握C++编程的基础知识,以及面向对象编程(OOP)的核心...

    Java语言教程&案例&相关项目资源

    2. **异常的处理**:使用`try-catch-finally`语句块来处理异常。还可以自定义异常类来更好地描述错误情况。 #### Java集合框架 1. **集合接口及其实现**:Java集合框架主要包括`List`、`Set`、`Map`等接口及其具体...

    java-xueshengguanli.rar_Java编程_Java_

    4. 业务逻辑层:定义Service接口和实现类,处理数据的增删改查等操作,如批量添加学生、查询学生信息等。 5. 视图层:使用JSP或Thymeleaf等技术展示用户界面,接收用户输入并返回结果。 三、学生信息管理 1. 学生...

    c++ 学生成绩管理系统 源代码

    学生成绩管理系统的核心功能包括:添加学生信息、录入成绩、查询成绩、计算平均分和排名等。这些功能的实现涉及到数据结构的设计,如使用`std::vector`或`std::map`存储学生和成绩数据。同时,还需要数据库操作,...

    JAVA语言程序设计实验指导书

    - 集合框架:深入学习集合框架的基本概念,包括List、Set、Map等容器的使用。 - Date/Time API:掌握日期时间处理的新API(自Java 8起引入),包括LocalDate、LocalTime等类。 - 输入输出流:学习文件读写的实现...

    scala从入门到精通技术教学视频

    4,每一块知识点, 都有配套案例, 学习不再迷茫。 课程简介 第一章 环境搭建 00.导学 01.Scala简介 02.Scala程序和Java程序对比 03.Scala环境搭建 04.Scala解释器 05.案例_做最好的自己 第二章 变量和数据类型 00....

    华为认证考试大数据模拟试题60道含答案-HCIA-Big-Data.docx

    - **知识点**:传统数据库遵循“先有模式后有数据”的原则,即首先定义数据库的逻辑结构(如表结构、字段类型等),然后根据这些结构录入数据。而在大数据场景下,由于数据量巨大且种类繁多,通常采用“先有数据后有...

    Java SE文档(全)

    9. **异常处理**:Java使用异常处理机制来处理运行时错误,通过try-catch-finally语句块捕获并处理异常。 10. **集合框架**:Java集合框架包括List(如ArrayList, LinkedList),Set(如HashSet, TreeSet),Map...

Global site tag (gtag.js) - Google Analytics