生活随笔
收集整理的這篇文章主要介紹了
航空订票系统设计(java、数据库、通信联合项目)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
航空訂票系統設計(java、數據庫、通信聯合項目)
最近幫高中同學做的一個學校項目,這個項目主要是用Java寫的,。
前期主要搭建五個類,Order(選擇)、Passenger(乘客)、Route(路線)、Tiketbooking(訂票)、Main(主函數入口).
前期搭建好整個項目框架,我開始先用Java搭建整個項目邏輯,這里只用了基本的邏輯語句,后續完善需要用到繼承和線程。
代碼分別如下:
package com.航空訂票系統
;import java.util.ArrayList;
import java.util.Scanner;public class Order {private int n
;private static int DinDanid;private String DinDanZhuanTai="正常起飛";private static int HanBanid;private String GetTime;private int JiaGe;private String StartPlace;private String EndPlace;private String StartTime;private String BackTime;private String Cang;private static ArrayList HanBanid2=new ArrayList();public Order(int n
,String StartPlace,String EndPlace,String StartTime,String BackTime,String Cang) {this.n
=n
;this.StartPlace=StartPlace;this.EndPlace=EndPlace;this.StartTime=StartTime;this.BackTime=BackTime;this.Cang=Cang;}public void show1() {System.out
.println("久等了,已經為你生成訂單信息:");System.out
.println("你的訂單號是:"+(++DinDanid));System.out
.println("你的訂單狀態是:"+DinDanZhuanTai);System.out
.println("你的航班號是:"+(++HanBanid));HanBanid2.add(HanBanid);System.out
.println(HanBanid2.get(DinDanid-1));System.out
.println("你的起飛時間是:"+StartTime);System.out
.println("你的到達時間是:"+BackTime);if(Cang.equals("經濟艙")) {System.out
.println("你乘坐的是經濟艙,這次價格很實惠,只需要:"+200+"元"+" "+"歡迎下次再來!");}else if(Cang.equals("頭等艙")){System.out
.println("尊敬的大佬,你乘坐的是頭等艙,價格是:"+1000+"元"+" "+"下次送你精美禮品!");}else {System.out
.println("艙位選擇錯誤,本系統很菜,需要關閉重啟重新輸入信息才能成功約票,你不爽就自己走到目的地。");}System.out
.println("請問你還需要查詢航班信息嗎?每次訂單后都只有一次查詢機會哦。(請填入yes或no):");Scanner input
=new Scanner(System.in
);String p
=input
.next();if(p
.equals("yes")) {Route r
=new Route(n
,HanBanid2,StartTime,BackTime);r
.show2();}else if(p
.equals("no")) {System.out
.println("好的,已經為你跳過查詢。");}else{System.out
.println("yes和no都填錯,好吧,自動為你跳過查詢,想查詢下次訂單后面可以查。");}}
}
package com.航空訂票系統
;
import java.util.Scanner;
public class Passenger {private String []name
=new String[1000];private String []ShenFenid=new String[1000];private String []phonenumber
=new String[1000];private String []address
=new String[1000];private long[] JiFen=new long[1000];public void passenger() {System.out
.println("請問你要注冊幾人?");Scanner in
=new Scanner(System.in
);int n
=in
.nextInt();for(int i
=1;i
<=n
;i
++) {System.out
.println("請輸入第"+i
+"位用戶的信息,我們幫你在系統里注冊賬號:");System.out
.println("請輸入你的姓名:");name
[i
]=in
.next();System.out
.println("請輸入你的身份證號碼:");ShenFenid[i
]=in
.next();System.out
.println("請輸入你的電話號碼:");phonenumber
[i
]=in
.next();System.out
.println("請輸入你的常住地址:");address
[i
]=in
.next();JiFen[i
]=0;System.out
.println("恭喜成為我們公司的會員!你現在的積分是0,但是只要多坐我們公司的航班積分很快就會上去哦。積分充足的話可以打折!");}}}
package com.航空訂票系統
;
import java.util.ArrayList;
import java.util.Scanner;
public class Route {Scanner in
=new Scanner(System.in
);private static ArrayList HanBanid=new ArrayList();private int n
;private String HanKongGongSi="南方航天航空";private String JiXin="國產919大飛機";private int number
=500;private String StartTime;private String EndTime;private int KongYuZuoWei=500;private int id
;public Route(int n
,ArrayList HanBanid2,String StartTime,String EndTime) {this.n
=n
;this.KongYuZuoWei-=n
;this.HanBanid=HanBanid2;this.StartTime=StartTime;this.EndTime=EndTime;}public void show2() {System.out
.println("請輸入你的訂單id,我們幫你查詢航班信息,本系統很菜,忘記了訂單id了就查不出來了。");Scanner in
=new Scanner(System.in
);id
=in
.nextInt();System.out
.println("正在查詢你的航班信息,請耐心等待!");System.out
.println("你的航班id是:"+HanBanid.get(id
-1));System.out
.println("你本次航班的航空公司是:"+"南方航天航空");System.out
.println("你的飛機型號是:"+JiXin);System.out
.println("飛機最大載客量是:"+number
+"人");System.out
.println("空余座位還有:"+KongYuZuoWei+"個");System.out
.println("你的起飛時間是:"+StartTime);System.out
.println("你的達到時間是:"+EndTime);}
}
package com.航空訂票系統
;import java.util.Scanner;public class Tiketbooking extends 統一輸入
{public static void YongHuShuRu() {Scanner in
=new Scanner(System.in
);System.out
.println("你要注冊會員嗎?雖然麻煩一點,但是成為我們公司的VIP有好處哦(請填寫yes或no):");String p2
=in
.next();if(p2
.equals("yes")) {Passenger psg
=new Passenger();psg
.passenger();}else if(p2
.equals("no")) {System.out
.println("已經為你跳過注冊,直接進入訂票環節...");}else {System.out
.println("沒有正確填寫,本系統自動為你跳過,直接進入訂票環節...");}System.out
.println("歡迎乘坐我們公司航班!");System.out
.println("請輸入乘客人數:");int n
=in
.nextInt();for(int i
=0;i
<n
;i
++) {System.out
.println("請輸入起點:");String StartPlace=in
.next();System.out
.println("請輸入目的地:");String EndPlace=in
.next();System.out
.println("請輸入出發時間:");String StartTime=in
.next();System.out
.println("請輸入返回時間:");String BackTime=in
.next();System.out
.println("你想坐經濟艙還是頭等艙(有錢就坐頭等艙,送你會員)(填寫“經濟艙”或者“頭等艙”):");String Cang=in
.next();Order or
=new Order( n
,StartPlace, EndPlace, StartTime, BackTime, Cang) ;or
.show1();}System.out
.println("訂單信息匯報完畢,恭喜訂票成功!");}}
最后寫一個主函數代碼調用 YongHuShuRu()就行
public class Main{
public static void main(String[] args
){
Main m
=new Main();
m.YongHuShuRu();
}
}
接下來還需要完善繼承機制和線程系統,這一部分是其他同學在做,我之后補上。
我們需要搭建一個簡單的數據庫,這里先做一個簡單的模型。
create table passenger
(
id
char(20) PRIMARY key,
name
char(20),
canwei
char(20)
);
insert into passenger
VALUES(1,"小明","頭等倉");
insert into passenger
VALUES(2,"小紅","頭等倉");
insert into passenger
VALUES(3,"張三","經濟倉");
insert into passenger
VALUES(4,"李四","經濟倉");
insert into passenger
VALUES(5,"王五","經濟倉");
模型效果
接下來一個星期內我們繼續繼承線程機制完善,sock通信機制連接,數據庫搭建以及完善。
未完待續…(感謝支持)
總結
以上是生活随笔為你收集整理的航空订票系统设计(java、数据库、通信联合项目)的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。