开发阳光旅行网app中用户下单功能,可实现用户添加订单并完善出行人信息、修改订单,删除订单以及打印行程信息等功能。


代码详见此链接----》https://files-cdn.cnblogs.com/files/blogs/694443/%E9%98%B3%E5%85%89%E6%97%85%E8%A1%8Capp.zip

具体功能要求如下:

(1)显示系统主菜单

包括添加出行订单、查看我的出行订单、修改订单信息、删除出行人、查看行程、退出系统6项功能,其他功能本项目不做要求,当用户选择功能编号后可进入执行相应功能。执行结果如图1所示。

图1 主菜单

(2)添加出行订单

填写出行日期、联系人手机号码、循环录入出行人信息。

出行人信息包括:

  • 出行人类别:成人、儿童(1.2m以下)、老人(65岁以上)
  • 姓名
  • 年龄(如选择类别为老人,输入年龄不足65岁的,显示提示信息“对不起,老人订单年龄需为65岁以上!”)
  • 如果是儿童,需确定是否占床

每成功录入一条出行人信息后,显示出其详细信息,并计算出行金额。定价如下:

  • 成人:2000元/人
  • 儿童:免费,如需占床另加30元
  • 老人:半价,即1000元/人

当一条出行人信息录入完毕后,提示“是否继续添加(Y/其它)?”,此处不区分大小写,当输入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”中的内容显示到控制台。

(九)定义测试类,完成项目功能菜单以及整体流程,调用相应方法实现具体功能。

 

相关