IO综合题——北京地铁管理系统
针对北京地铁项目,需要开发一个信息化管理系统。请根据公司现有业务及需求完成该系统的初始设计。
【需求描述】
(1)记录管理人员信息。员工信息包括工号、姓名、性别和一个手机号,工号唯一标识每位员工。
(2)记录地铁站信息。地铁站信息包括地铁站编号、地铁站名称、所属路线、停留时间、起始运营时间、停止运营时间,系统内部用地铁站编号唯一标识每个地铁站。
【结构设计】
管理人员(工号,姓名,性别,手机号)
地铁站(地铁站编号,地铁站名称,所属路线)
【问题1】
请根据业务需求及结构,设计出管理人员类(Manager)和地铁站类(Subway)
要求:
1.包括所涉及的属性
2.要生成getter()&setter()方法
3.要包含无参和带全部参数的构造方法
4.要有相应的toString()方法,用于输出相关属性的值
【问题2】
运行程序,提示管理员进行登录,根据输入的工号和姓名判断是否登录成功,登录成功,进入下一步,登录失败,给出提示,结束程序
系统中现有管理人员信息如下:
10001,小王,男,13112345678
10002,老于,男,13212345678
10003,老方,男,13312345678
保存在当前项目模块下的managers.txt文件中,此文件已提供
系统中现有地铁站信息如下:
s3002,南锣鼓巷,6号线
s5016,王府井,1号线
s2026,西直门,4号线
保存在当前项目模块下的subways.txt文件中,此文件已提供
要求:
2.1. 运行程序,将managers.txt文件中的管理人员信息读取到集合中
2.1.1. 将读取到的一行数据切割成字符串数组
2.1.2. 将数组中的元素封装到Manager对象中
2.1.3. 将Manager对象添加到集合中
2.2. 将subways文件中的地铁站信息读取到另一个集合中
2.3. 给出提示,获取管理人员输入的工号和姓名
2.4. 判断管理人员信息集合中是否包含管理人员输入的工号和姓名,给出对应的登录结果
【问题3】
当管理人员登录成功后,给出选项提示,根据管理人员的选择,执行后续的操作
要求:
3.1. 给出提示: 1.查看地铁站 2.添加地铁站
3.2. 获取管理人员输入的选择
3.3. 根据管理人员的选择,执行对应的操作
【问题4】
当管理人员选择1时,执行对应的查看地铁站操作
要求:
4.1. 判断地铁站集合中是否有地铁站信息
4.2. 如果没有地铁站信息,给出提示
4.3. 如果有地铁站信息,遍历集合,打印每个地铁站信息
【问题5】
当管理人员选择2时,执行对应的添加地铁站操作
要求:
5.1.依次给出提示,获取管理人员输入的地铁站信息,包括地铁站编号,地铁站名称,所属路线
5.2. 将管理人员输入的地铁站信息封装成对象,存储到集合中
5.3. 将集合中的地铁站信息更新到文件中,再次打开文件时,应该包含管理人员刚才录入进去的地铁站信息,程序结束
参考代码
public class Manager {
// 工号,姓名,性别,手机号
private String id; // 类型不做统一要求,int可以,String也行
private String name;
private String gender;
private String telephone;
/**
* 1.包括所涉及的属性
* 2.要生成getter()&setter()方法
* 3.要包含无参和带全部参数的构造方法
* 4.要有相应的toString()方法,用于输出相关属性的值
*/
public Manager() {
}
public Manager(String id, String name, String gender, String telephone) {
this.id = id;
this.name = name;
this.gender = gender;
this.telephone = telephone;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getTelephone() {
return telephone;
}
public void setTelephone(String telephone) {
this.telephone = telephone;
}