航空订票系统设计(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="正常起飞";//如果需要判断某些特定位置不可以起飞或者天气问题,可以再做一个if判断,题目里没要求我就直接给允许了;
	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];//这里给一千个空间保存用户数据当数据库,到时候vip能用上去
	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;//猜测919能坐500人就统一了,到时候跟着判断改变
	private String StartTime;
	private String EndTime;
	private int KongYuZuoWei=500;//本系统只租用了一辆飞机,就按照满座位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了就查不出来了。");//因为是简易系统,这里的订单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();
}
}

接下来还需要完善继承机制和线程系统,这一部分是其他同学在做,我之后补上。
我们需要搭建一个简单的数据库,这里先做一个简单的模型。

#drop table passenger;
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通信机制连接,数据库搭建以及完善。
未完待续…(感谢支持)

  • 7
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
### 回答1: 航空订票系统是一个重要的课程设计项目,使用Java语言进行开发。我们需要通过设计和实现一个功能完备的系统,来模拟航空公司的订票和管理过程。 该系统应具备以下主要功能: 1. 用户登陆和注册:用户可以通过注册账号来使用系统的各项功能,并通过登陆来验证身份。 2. 航班查询:用户可以根据出发地、目的地、日期等条件查询航班信息,并查看空座位情况和票价等。 3. 航班预订:用户可以选择合适的航班,进行预订。系统应记录用户预订的航班信息,并保证航班座位的唯一性、一致性。 4. 支付处理:用户在购票后应进行支付操作。系统应连接支付接口,实现在线支付功能,并保护用户支付信息的安全。 5. 订单管理:系统应记录用户的订单信息,包括订单号、航班信息、乘客信息等,以便用户查询订单、办理退票等相关操作。 6. 管理员权限:系统应设定管理员账号,管理员可以对航班信息、用户订单等进行管理和修改,并对用户的购票情况进行统计和分析。 在设计和实现航空订票系统时,我们可以使用Java的面向对象编程思想,将系统划分为不同的类和模块,实现功能的高内聚低耦合。 可以采用MVC(Model-View-Controller)模式来设计系统的架构,通过模型层来管理数据,视图层负责用户界面的展示,控制器负责连接视图和模型,处理用户的请求和响应。 此外,需要注意系统的安全性和稳定性。可以使用密码加密技术、数据的备份和恢复机制等来保护用户数据的安全性,使用异常处理来避免系统崩溃和数据丢失的情况。 总之,航空订票系统课程设计使用Java语言开发,需要考虑用户登陆和注册、航班查询、航班预订、支付处理、订单管理和管理员权限等相关功能,并采用MVC架构和安全性保护措施来设计实现。 ### 回答2: 航空订票系统是一个以Java语言为基础进行设计的课程项目。这个系统的主要目标是为用户提供方便快捷的航班预订和管理服务。下面我将简单介绍这个系统的设计要点和功能。 首先,这个系统将实现用户账户注册和登录功能。用户可以通过注册账户来进行预订和管理航班信息。用户登录后,系统将验证其身份并提供相应的服务。 其次,该系统包括航班查询和预订功能。用户可以通过输入出发地、目的地、日期等信息来查询符合条件的航班。查询结果将按照航班号、起飞时间、票价等进行展示。用户可以根据自己的需求选择合适的航班并进行预订。 此外,该系统还将实现航班管理功能。航空公司的工作人员可以登录后对航班信息进行管理,包括增加、修改和删除航班信息。管理员可以对航班的起飞时间、票价、座位等进行管理,以保证航班信息的准确性和及时性。 此外,系统还会实现订单管理功能。用户可以通过查看订单列表来管理自己的航班订单,包括查看订单详细信息、取消订单等操作。同时,系统也会提供相应的退款和改签功能,以便用户处理航班变动和取消订单的需求。 最后,该系统还会实现票价管理、座位管理、支付接口等功能,以提供更全面和便捷的航空订票服务。 总结而言,航空订票系统课程设计Java语言为基础,致力于为用户提供方便快捷的航班预订和管理服务。通过实现账户注册、登录、航班查询和预订、航班和订单管理等功能,该系统将提供完整的航空订票解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吴澳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值