资源简介
开发阳光旅行网app中用户下单功能,可实现用户添加订单并完善出行人信息、修改订单,删除订单以及打印行程信息等功能。
具体功能要求如下:
(1)显示系统主菜单
包括添加出行订单、查看我的出行订单、修改订单信息、删除出行人、查看行程、退出系统6项功能,其他功能本项目不做要求,当用户选择功能编号后可进入执行相应功能。执行结果如图1所示。
图1 主菜单
(2)添加出行订单
填写出行日期、联系人手机号码、循环录入出行人信息。
出行人信息包括:
出行人类别:成人、儿童(1.2m以下)、老人(65岁以上)
姓名
年龄(如选择类别为老人,输入年龄不足65岁的,显示提示信息“对不起,老人订单年龄需为65岁以上!”)
如果是儿童,需确定是否占床
每成功录入一条出行人信息后,显示出其详细信息,并计算出行金额。定价如下:
成人:2000元/人
儿童:免费,如需占床另加30元
老人:半价,即1000元/人
当一条出行人信息录入完毕后,提示“是否继续添加(Y/N)?”,此处不区分大小写,当输入y或Y时继续录入下一条,否则显示订单信息,包括:
出行日期
联系人手机号码
订单总金额(即所有出行人定单金额之和)
最后显示主菜单。执行效果如图2所示。
图2 添加出行订单
(3)查看我的出行订单信息
查看我的出行订单:查看所录入的订单信息。包括出行日期、联系人手机号码、所有出行人信息,运行效果如图3所示。
图3 查看我的出行订单
(4)修改行程信息
可修改出行日期、联系人手机号码,要求手机号码必须为11位,否则抛出异常信息,提示“手机号码必须为11位”,运行效果如果4所示。
图4 手机号码不是11位
正确修改后,显示修改后的信息,并提示“修改成功!”。如图5所示。
图5 修改订单成功
(5)删除出行人
填写要删除的出行人姓名,执行删除操作,删除成功后给出提示“删除成功!”,如图6所示。如果输入姓名错误,则提示“对不起,定单中不包含此游客信息!”如图7所示。
图6 删除出行人成功
图7 删除出行人失败
(6)查看行程
显示本次旅行行程信息。即读取“旅游行程.txt”文件(素材提供),显示在控制台。运行效果如图8所示。
图8 查看行程
(7)退出系统
退出当前系统,显示“欢迎下次再来。”如图9所示。
三、要求与实现步骤
(一)不使用数据库,使用对象和集合存储数据
(二)定义实体类(成人订单、儿童订单、老人订单),儿童订单、老人订单为成人订单的子类。实体类至少包含但不局限于以上3个。
(三)在各实体类中均需实现各自计算订单价格、显示订单信息的方法,使用方法的重写。
(四)定义工具类,实现查看我的出行订单、添加订单、修改行程信息、删除出行人、查看行程等方法。需使用到对象传参。
(五)使用泛型集合存储所有出行人信息,使用集合的遍历实现查看订单信息、统计订单总金额、删除出行人等功能。
(六)显示信息时,只有儿童出行人需显示是否占座,需使用面向对象多态实现。
(七)修改行程信息时,当手机号码录入错误时需使用throw手动抛出异常。
(八)使用I/O技术实现文件的读取功能,将文本文件“行程信息.txt”中的内容显示到控制台。
(九)定义测试类,完成项目功能菜单以及整体流程,调用相应方法实现具体功能。
代码片段和文件信息
package Demo;
/**
* 成人类
* @author 205
*
*/
public class ChenRen {
public ChenRen(String nameint age) {
// TODO 自动生成的构造函数存根
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
private String name; //姓名
private int age; //年龄
private double price; //金额
/**
* 计算价格
*/
public void sum(int age){
this.setPrice(2000);
}
/**
* 输出信息
*/
public void print(){
System.out.println(“姓名:“+this.name+“,年龄:“+this.age+“,本次出行金额:“+this.price+“元。“);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-12-29 17:12 jishi\
文件 232 2017-12-29 15:47 jishi\.classpath
文件 381 2017-12-29 15:47 jishi\.project
目录 0 2017-12-29 15:48 jishi\bin\
目录 0 2017-12-29 16:13 jishi\bin\Demo\
文件 1588 2017-12-29 16:01 jishi\bin\Demo\ChenRen.class
文件 465 2017-12-29 16:18 jishi\bin\Demo\ChuXin.class
文件 1717 2017-12-29 17:07 jishi\bin\Demo\ErTong.class
文件 1241 2017-12-29 16:12 jishi\bin\Demo\LaoRen.class
文件 3071 2017-12-29 16:48 jishi\bin\Demo\Test.class
文件 5729 2017-12-29 17:13 jishi\bin\Demo\Tool.class
目录 0 2017-12-29 17:12 jishi\src\
目录 0 2017-12-29 16:13 jishi\src\Demo\
文件 847 2017-12-29 16:01 jishi\src\Demo\ChenRen.java
文件 292 2017-12-29 16:18 jishi\src\Demo\ChuXin.java
文件 1033 2017-12-29 17:07 jishi\src\Demo\ErTong.java
文件 569 2017-12-29 16:12 jishi\src\Demo\LaoRen.java
文件 2309 2017-12-29 16:48 jishi\src\Demo\Test.java
文件 3424 2017-12-29 17:13 jishi\src\Demo\Tool.java
文件 555 2017-02-20 13:57 jishi\行程信息.txt
评论
共有 条评论