//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语言来深入理解程序逻辑。这通常意味着我们将探讨控制流程、循环、条件语句、函数以及可能涉及的数据结构等核心概念。JavaSE(Java Standard ...
这个系统通常包括一系列的功能,如学生信息录入、查询、修改、删除,成绩管理,课程安排,以及报告生成等。下面我们将深入探讨这个系统的一些核心知识点。 1. **Java基础**:Java是这个系统的基础,它是一种跨平台...
1. 类与对象的设计:`Student`类应包括私有属性如`name`、`ID`以及一个表示成绩的`vector`或`map`。这些数据结构可以用来存储各科成绩,例如,使用键值对形式,键为科目名,值为对应成绩。`GradeSystem`类则包含一个...
实例134 使用代码块实现线程同步 174 实例135 使用特殊域变量实现线程同步 175 实例136 使用重入锁实现线程同步 176 实例137 使用线程局部变量实现线程同步 177 实例138 简单的线程通信 179 实例139 简单的线程死锁 ...
在图书管理系统中,模型负责处理业务逻辑和数据,视图负责展示,控制器则处理用户交互。 5. **事件处理**:Swing提供了一套事件监听机制,通过实现ActionListener接口处理按钮点击、文本框输入等事件。开发者需要...
图书管理系统是一个典型的数据库管理系统,它主要用于自动化图书馆的日常运营,包括图书的录入、查询、借阅、归还以及各种统计分析功能。这个项目将帮助学生掌握C++编程的基础知识,以及面向对象编程(OOP)的核心...
2. **异常的处理**:使用`try-catch-finally`语句块来处理异常。还可以自定义异常类来更好地描述错误情况。 #### Java集合框架 1. **集合接口及其实现**:Java集合框架主要包括`List`、`Set`、`Map`等接口及其具体...
4. 业务逻辑层:定义Service接口和实现类,处理数据的增删改查等操作,如批量添加学生、查询学生信息等。 5. 视图层:使用JSP或Thymeleaf等技术展示用户界面,接收用户输入并返回结果。 三、学生信息管理 1. 学生...
学生成绩管理系统的核心功能包括:添加学生信息、录入成绩、查询成绩、计算平均分和排名等。这些功能的实现涉及到数据结构的设计,如使用`std::vector`或`std::map`存储学生和成绩数据。同时,还需要数据库操作,...
- 集合框架:深入学习集合框架的基本概念,包括List、Set、Map等容器的使用。 - Date/Time API:掌握日期时间处理的新API(自Java 8起引入),包括LocalDate、LocalTime等类。 - 输入输出流:学习文件读写的实现...
4,每一块知识点, 都有配套案例, 学习不再迷茫。 课程简介 第一章 环境搭建 00.导学 01.Scala简介 02.Scala程序和Java程序对比 03.Scala环境搭建 04.Scala解释器 05.案例_做最好的自己 第二章 变量和数据类型 00....
- **知识点**:传统数据库遵循“先有模式后有数据”的原则,即首先定义数据库的逻辑结构(如表结构、字段类型等),然后根据这些结构录入数据。而在大数据场景下,由于数据量巨大且种类繁多,通常采用“先有数据后有...
9. **异常处理**:Java使用异常处理机制来处理运行时错误,通过try-catch-finally语句块捕获并处理异常。 10. **集合框架**:Java集合框架包括List(如ArrayList, LinkedList),Set(如HashSet, TreeSet),Map...