資源簡介
開發陽光旅行網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
評論
共有 條評論