//package app1;
import java.io.*;
import java.util.HashMap;
import java.util.Iterator;
class EmployeeRepeat
{
private String strEmpID;// 员工编号
private String chrGender;// 性别
private String strTelNumber;// 电话号码
private double dblSalary;// 工资
//构造函数,初始化成员变量
EmployeeRepeat(String strEmpID, String chrGender, String strTelNumber,double dblSalary)
{
this.strEmpID = strEmpID;
this.chrGender = chrGender;
this.strTelNumber = strTelNumber;
this.dblSalary = dblSalary;
}
EmployeeRepeat()
{
}
public String getStrEmpID() //员工编号
{
return strEmpID;//返回员工编号
}
//比较录入的数据是否已经出现
public String checkAndPut(EmployeeRepeat er,HashMap<String,EmployeeRepeat> hm)
{
if (hm.containsKey(er.getStrEmpID()))
{
return "员工编号重复,数据录入失败";
}
else
{
hm.put(er.getStrEmpID(), er);
}
return "数据录入成功";
}
public String toString()//重写toString()方法
{
return strEmpID + "\t\t\t" + chrGender + "\t\t\t" + strTelNumber + "\t\t\t" + dblSalary;
}
public void Info() throws IOException
{
HashMap<String, EmployeeRepeat> hm = new HashMap<String, EmployeeRepeat>();
System.out.println("***************************录入员工信息******************************");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
boolean flag = true;// 标记是否继续录入的标志
while (flag)
{
try
{
EmployeeRepeat er = new EmployeeRepeat();
System.out.print("员工编号:");
strEmpID = br.readLine();
System.out.print("员工性别:");
chrGender = br.readLine();
System.out.print("员工电话:");
strTelNumber = br.readLine();
System.out.print("员工工资:");
dblSalary = Double.parseDouble(br.readLine());
System.out.println(checkAndPut(new EmployeeRepeat(strEmpID, chrGender, strTelNumber, dblSalary), hm));
System.out.println("是否继续录入员工信息(Y 继续 其他键停止录入)");
String ok = br.readLine();
if (!(ok.equals("y") || ok.equals("Y"))) // 键盘控制事件
{
flag = false;
System.out.println("****************员工基本信息表*******************");
System.out.println("员工编号\t\t员工性别\t\t员工电话\t\t员工工资");
for (Iterator<String> it = hm.keySet().iterator();it.hasNext();)
{
System.out.println(hm.get(it.next()));
}
}
}
catch (Exception m)//捕获输入的类型错误的情况(员工工资必须是double类型的)
{
System.out.println("输入错误,请重新输入:");
}
}
}
}
public class EmployeeTestRepeat
{
public static void main(String[] args)
{
EmployeeRepeat ee = new EmployeeRepeat();
try
{
ee.Info();
}
catch (Exception e)
{
System.out.println(e.toString());
}
}
}
分享到:
相关推荐
根据给定的信息,我们可以分析并总结出以下与MFC(Microsoft Foundation Classes)学生信息录入相关的知识点: ### MFC概述 MFC(Microsoft Foundation Classes)是微软提供的一套面向对象的类库,它封装了Windows...
Map文件可以包含各种信息,如网格布局、地形类型、障碍物位置等。在这个场景中,我们将关注如何创建一个简单的方格地图,并使用Java来读写这些数据,不涉及二进制文件操作。 首先,我们需要了解基本的文件读写概念...
例如,`mmMAP_OPEN_REQ_T`代表MAP OPEN业务的请求消息,其中包含了对话标识(DigId)、事件标识(InvkId)、应用上下文值(ACValue)、版本号(ACVer)等信息。对应的响应消息`mmMAP_OPEN_RSP_T`则包含结果(Result...
C语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言...
员工信息管理模块是系统的核心,涉及到数据录入、查询、修改和删除操作。VC++可以利用STL(Standard Template Library)中的容器,如`std::vector`和`std::map`,来存储和操作员工数据。同时,为了保证数据的一致性...
JDK11使用MapStruct
"map-api具体业务接口包" 是一个专门为地图应用设计的API集合,它的主要目标是为开发者提供一套完整的接口,以便在各种业务场景中方便地集成和操作地图功能。这个包的引入,意味着开发者可以轻松地在自己的应用程序...
- 运行时编辑:在游戏运行过程中,可以根据游戏逻辑动态修改TileMap,实现如地形变化、生长植被等效果。 - 故事进展:随着玩家在游戏中推进,TileMap可以揭示新的区域,隐藏或显示内容,增加探索感。 6. 性能优化...
在Java编程中,Map接口是集合框架的一部分,它提供了一个关联键值对的无序容器...同时,结合面向对象编程,设计了Student类以及相关的服务类,以实现完整的业务逻辑。这样的设计既易于理解和维护,也具有较好的扩展性。
XML因其结构化和易于解析的特性,在数据交换和配置文件中广泛使用,而Map则作为Java中存储键值对的高效数据结构。在实际开发中,我们可能需要在XML和Map之间进行转换,以便于数据处理。本文将详细讲解如何使用Java...
《GameMap:游戏地图设计与分割技术详解》 在游戏开发中,地图是构建游戏世界不可或缺的元素。本文将深入探讨GameMap,一种专用于游戏地图设计和管理的工具,以及其中涉及到的关键技术和概念。 首先,我们要理解...
SSH,即Spring、Struts和Hibernate,是Java Web开发中常用的一个集成框架,它整合了这三个框架的功能,便于实现业务逻辑、数据访问和控制层的高效管理。在SSH框架下,Map容器通常被用于存储和操作数据,尤其在进行...
本篇文章将详细讲解如何读取.properties文件,将其内容转化为Map对象,以及如何将这个Map对象写回到新的文件中。 首先,我们需要了解什么是.properties文件。这是一种文本格式的文件,用于存储键值对,其中每个键和...
通过注释处理器的方式,MapStruct让开发者可以专注于业务逻辑,而将繁琐的映射代码工作交给工具来处理。MapStruct 1.2.0版本针对性能、安全性和易用性进行了优化,并且伴随着活跃的社区支持,是Java开发者进行对象...
6. **交互功能**:ECharts 支持地图的点击、悬浮等交互事件,可以通过配置 `emphasis` 来设置高亮样式,通过监听 `click`、`mouseover` 等事件来实现相应的业务逻辑。 7. **动态更新**:在应用运行时,可以通过调用...
3. 输入命令`RAMMap.exe RUN <profile>`,其中`<profile>`是RAMMap内置的分析模式,如`EmptyCache`用于清空系统缓存,`AllPhysical`显示所有物理内存信息等。例如,要运行“EmptyCache”模式,命令将是`RAMMap.exe ...
### Map.toString()后转换成Map类型的实现方法及解析 在Java编程中,有时我们需要将一个`Map`对象转换为字符串形式进行存储或传输,而在接收端又需要将该字符串重新转换回`Map`对象以便进一步处理。本篇将详细介绍...
在上面的代码中,我们使用了Collectors.toMap()方法来将List转换为Map,key是empId,值是整个员工对象。 但是,如果List中有重复的empId,映射到Map时,Key不能重复的,这时我们可以使用BinaryOperator方法来解决这...
- **扩展插件**:用户可以通过编写插件来扩展MapServer的功能,如支持新的数据格式或实现特定的业务逻辑。 #### 四、MapServer应用场景 - **地理信息系统开发**:MapServer是构建GIS应用的强大工具,可用于开发各种...