基于Java的航空售票管理系统 | 您所在的位置:网站首页 › java航空售票系统 › 基于Java的航空售票管理系统 |
源码下载 http://www.byamd.xyz/hui-zong-1/
摘 要 本课题设计的是航空购票管理系统。 本系统主要设计了三个类,分别是Infor类、gongneng类和测试(Test)类。在Infor类里面主要定义了数组,分别是name[]、IDcard[]、phoneNum[]用来存放用户的姓名,身份证号和电话号码。用Hangxian[],Time[]存放航线和时间。在gongneng类里继承了Infor类从而调用infor类中的成员变量,且里面定义了五种方法有add():用于增加用户的个人信息(姓名,身份证号和电话号码)。Air_line():判断输入的航线是否存在。add1():选择您要选择的机票类型,查看机票价格。seat():判断是否有余票,若有余票则 添加座位信息、个人信息。check():按需要查询内容用来实现乘客信息的记录。在测试(Test)类中,通过继承gongneng类,来调用其成员方法,从而运行该管理系统。 关键词:数组,继承,面向对象。 航班售票管理系统课程设计报告 一、开发背景当前中国航空市场迅速扩大,随着人们生活水平的提高,越来越多的人选择飞机出行,人们对航空服务业的要求也越来越高。但是手工操作不仅不能保证数据的准确性和安全性,而且耗时、耗力且记录信息的效率也很低。 为了适应快速发展的需求,有效且稳定地管理航空公司,便于管理员准确、迅速、可靠地记录下乘客的信息,使乘客能够高效且快捷地查询航班信息,我们要为某航空公司设计一套售票管理系统,要求能在该公司的各个营业网点为顾客提供航班查询、购票及退票等服务。 本课题就是针对上述问题所设计的航空售票管理系统。 二、需求分析本系统的主要目的就是实现公司数据高效化管理,满足人们对航空业的高要求,同时给顾客提供一个更加方便、快捷的服务平台。 三、模块说明依据需求分析结果,通讯录管理系统可以分为3个模块:用户信息模块、功能模块,测试模块。 1、用户信息模块功能描述:此模块的主要功能是创建数组,使用数组存放个人信息(姓名、身份证号、电话号码)和航班信息(航线、时间) 输入:无 输出:无 2、功能模块功能描述:此模块的主要功能是实现添加、查找、修改用户信息和航班信息 输入:用户的姓名、身份证、电话号码和航班的航线、时间 输出:用户的姓名、身份证、电话号码和航班的航线、时间 、价格、余票 3、测试模块功能描述:此模块的主要功能是对系统进行测试 输入:各个功能的编号。 输出:通讯录管理系统界面 四、详细设计 1、信息(Infor)类类名:Infor 继承父类:无 实现接口:无 概述:定义用于存放用户信息的数组和航班信息的数组 属性及说明: static String name[] = new String[100]; // 姓名 static String IDcard[] = new String[100]; // 身份证 static String phoneNum[] = new String[100]; // 电话号码 static String Hangxian[] = { “长沙—上海”,“广州—杭州”,“长沙—深圳” }; static String Time[] = {“7:30—11:30”,“22:00—02:30”,“12:30—15:00”}; static int Price1 [] = new int[100] ; //经济舱,商务舱,头等舱的价格 static String state[] = new String[100] ; //经济舱,商务舱,头等舱 方法及说明:无 2、.功能(gongneng)类类名:gongneng 继承父类:Infor 实现接口:无 概述:用于实现个人信息的增加、查询、修改、显示 属性及说明: hangxian[] = new String[100] ; //存放航班的航线 time[] = new String[100] ; //存放航班的时间 Ticker_num[] = {50,1,20}; //存放经济舱,商务舱,头等舱的票数 方法及说明: add():实现增加用户的个人信息(姓名、身份证、电话号码)的功能 Air_line():实现输入的航线是否存在的判断功能 add1():实现您要选择的机票类型,查看机票价格的功能 seat():实现判断是否有余票,若有余票则添加座位信息、个人信息的功能 check():实现查询功能 3、测试(Test)类类名:Test 继承父类:gongneng 实现接口:无 概述:通过Infor p1和gongneng p2对象存放初始值 属性及说明: Infor p1 = new Infor(); //创建Infor对象p2 gongneng p2 = new gongneng(); //创建gongneng对象p2 方法及说明:无 五、系统实现航班售票管理系统的界面设计主要遵循方便易用、界面友好的原则,具体设计如下: 1、主界面(Test类)图1 图1 输入相应的功能编号,执行各功能。 2、功能模块图2 图2根据你输入的航线判断是否有此航线。如果存在此航线,就显示此航线及时间 图3 图3选择你要购买的机票查看此航线是否有余票,如果有余票就选择你要购买的机票类型 图4 图4根据要购买的机票数量添加个人信息(姓名、身份证、电话号码。若你输入的身份证和电话号码有错会提示你的输入有错误重新输入) 图5 图6 图5和图6是按你的需要查询(姓名、航线),按姓名查询就输入你要查找的姓名,显示你的姓名,身份证,电话号码,航线,时间 总 结本次课程设计虽然只有短短几天的时间,但课程内容较为丰富,虽然其中所包含的知识点不多,但仅靠我们书本所学的知识也是远远不够的,这就需要我们去查找大量课外书籍和资料。Java设计主要目的是加深和巩固之前所学的知识,培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力。我们之前太过于把重心放在书本上,而忽略了实践的重要性。在本次课程设计过程中不可避免地出现了一些问题,比如因知识掌握水平不一,各个组员编写的程序无法完美兼容,表现出我们的基础知识的缺乏,同时体现出我们沟通的缺乏,我们掌握的知识是有限的,需要不断的进行学习和补充。 同时在这一次的课程设计中,也懂得了对题目进行分析的重要性。如果在做一个课程设计的时候不把所需的问题分析清楚,就会造成一种迷茫感,不知道从何下手的感觉。其次,此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识。 此次课程设计最终顺利完成,虽然过程中出现很多问题,但在老师和同学的帮助下完美解决。在以后的发展和学习实践过程中,我们一定要不懈努力,不厌其烦的发现问题所在,然后一一进行解决,只有这样才能达到最终的目的。 参考文献邢如意.Java语言中对象的理解与应用[J].软件工程,2017,20(4):9-11. 杨晓燕,李选平.Java面向对象程序设计实践教程[M].人民邮电出版社,2015. 张利锋,孙丽.Java语言与面向对象程序设计[M].清华大学出版社,2015. 姚骏屏,何桂兰.Java面向对象程序设计与系统开发[M].西安电子科技大学出版社,2015. 王娟.基于计算机软件开发的JAVA编程语言分析[J].数字通信世界,2017(12). 刘学波.浅谈项目教学法在JAVA语言教学中的应用[J].电大理工,2018(1):40-41 李蔚妍,耿霞,孙未,等.Java语言程序设计教学中构造方法的研究[J].福建电脑,2018(3) 高阳.JAVA编程语言在计算机软件开发中的应用[J].电脑迷,2018,No.94(5):55 李书卿.浅析JAVA语言的开发平台及J2EE编程技术[J].数码世界,2017(8):21-21 [10]. CayS.Horstmann.写给大忙人看的Java核心技术[M].2016. 附录:系统源代码 1、Infor类package Hangban; public class Infor { public int seat; // 座位总数 public int ticket_price; // 机票价格 static String name[] = new String[100]; // 姓名 static String IDcard[] = new String[100]; // 身份证 static String phoneNum[] = new String[100]; // 电话号码 static String Hangxian[] = { “长沙—上海”,“广州—杭州”,“长沙—深圳” }; static String Time[] = {“7:30—11:30”,“22:00—02:30”,“12:30—15:00”}; static int Price1 [] = new int[100] ; //经济舱,商务舱,头等舱的价格 static String state[] = new String[100] ; //经济舱,商务舱,头等舱 } 2、gongneng类package Hangban; import java.util.*; /*添加、查询、更改 add():用于增加用户的个人信息(姓名) Air_line():判断输入的航线是否存在 add1():选择您要选择的机票类型,查看机票价格 seat():判断是否有余票,若有余票则 添加座位信息、个人信息 check():按需要查询内容*/ public class gongneng extends Infor { static String hangxian[] = new String[100] ; static String time[] = new String[100] ; static int Price1 [] = new int[100] ; //经济舱,商务舱,头等舱的价格 static String state[] = new String[100] ; //经济舱,商务舱,头等舱 public void add(){ Scanner input = new Scanner(System.in); System.out.println(" 请输入添加人数"); int n = input.nextInt(); //输入的人数 int m = 0; // 计算添加的人数 for (int i = 0;i continue; } System.out.println(“请输入姓名:”); name[i] = input.next(); System.out.println(“请输入身份证号码:”); IDcard[i] = input.next(); while(IDcard[i].length() != 18){ System.out.println(“身份证号码输入错误!!请重新输入”); IDcard[i] = input.next(); } System.out.println(“请输入电话号码:”); phoneNum[i] = input.next(); while(phoneNum[i].length() != 11){ System.out.println(“电话号码输入错误!!请重新输入”); phoneNum[i] = input.next(); } System.out.println(“姓名\t身份证号码\t\t\t电话号码\t\t航线\t\t时间\t”); System.out.println(name[i] +"\t"+ IDcard[i] +"\t" + phoneNum[i] +"\t" + hangxian[i] +"\t" + time[i]); if(++m >= n) break; //跳出for() } } public void Air_line() { Scanner input = new Scanner(System.in); System.out.println(“请输入您的航线:”); String hx ; hx = input.next(); for (int i = 0;i < name.length;i++){ if(name[i] != null){ continue; } int k = 1; //不存在 while(true){ // for(int j = 0 ;j < Hangxian.length;j++){ //j记录有几条航线 if(hx.equals( Hangxian[j])){ //判断航线存在 hangxian[i] = Hangxian[j]; time[i] = Time[j]; k = 0; } } if( k == 0){ System.out.println(“航线:” + “\t” + hangxian[i]); System.out.println(“时间” + “\t” + time[i]); break; } else{ System.out.println(“没有此航线!!请重新输入”); hx = input.next(); } } break; } } public void add1(){ Scanner input = new Scanner(System.in); for (int i = 0;i continue; } System.out.println(“请选择您要购买的机票类型:”); System.out.println("**********"); System.out.println(“1.经济舱”); System.out.println(“2.商务舱”); System.out.println(“3.头等舱”); System.out.println("**********"); int t = input.nextInt(); switch(t){ case 1: state[i] = “经济舱”; Price1[i] =500; break; case 2: state[i] = “商务舱”; Price1[i] =700; break; case 3: state[i] = “头等舱”; Price1[i] =1000; break; } break; } } public void seat(){ Scanner input = new Scanner(System.in); int Price [] = {500,700,1000}; //经济舱,商务舱,头等舱的价格 int Ticker_num[] = {50,0,20}; //经济舱,商务舱,头等舱 /*System.out.println(“请选择您要查看的座位类型:”); System.out.println(“1.经济舱” + “\t” + “2.商务舱” + “\t” + “3.头等舱” ); System.out.println("------");*/ int k = 1; while(true){ if(k == 0) break; System.out.println(“请选择您要查看的座位类型:”); System.out.println(“1.经济舱” + “\t” + “2.商务舱” + “\t” + “3.头等舱” ); System.out.println("------"); int t = input.nextInt(); switch(t){ case 1: //经济舱 if(Ticker_num[0]==0){ System.out.println(“经济舱暂无余票,请重新选择”); System.out.println("------"); break; } else { System.out.println(“经济舱剩余” + “\t” + Ticker_num[0]-- + “票”); add(); // 添加个人信息 add1(); // 添加座位信息 k = 0; } break; case 2: //经济舱 if(Ticker_num[1]==0){ System.out.println(“商务舱暂无余票,请重新选择”); System.out.println("------"); break; } else { System.out.println(“商务舱剩余” + “\t” + Ticker_num[1]-- + “票”); add(); // 添加个人信息 add1(); // 添加座位信息 k = 0; } break; case 3: //经济舱 if(Ticker_num[2]==0){ System.out.println(“头等舱暂无余票,请重新选择”); System.out.println("------"); break; } else { System.out.println(“头等舱剩余” + “\t” + Ticker_num[2]-- + “票”); add(); // 添加个人信息 add1(); // 添加座位信息 k = 0; } break; } } } public void check(){ //查找 Scanner input = new Scanner(System.in); System.out.println("*********"); System.out.println(“请输入你要查找的编号:”); System.out.println(“1.按名字查询:”); System.out.println(“2.按航线查询:”); System.out.println("*********"); int s = input.nextInt(); switch(s){ case 1: System.out.println(“请输入你要查询的名字:”); String name1= input.next(); for(int i = 0;i continue; }*/ if(name1.equals(name[i])){ System.out.println("姓名\t身份证号码\t\t\t电话号码\t\t航线\t\t时间\t\t "); System.out.println(name[i] +"\t"+ IDcard[i] +"\t" + phoneNum[i] +"\t" + hangxian[i] +"\t" + time[i]); System.out.println("\t\t\t"); break; } } break; case 2: System.out.println(“请输入你要查询的航线:”); String pho = input.next(); for(int i = 0;i System.out.println("姓名\t身份证号码\t\t\t电话号码\t\t航线\t\t时间\t "); System.out.println(name[i] +"\t"+ IDcard[i] +"\t" + phoneNum[i] +"\t" + hangxian[i] +"\t" + time[i]); System.out.println("\t\t\t"); } if(name[i] == null){ break; } } } } } 3、Test类package Hangban; import java.util.Scanner; public class Test extends gongneng { public static void main(String[] args) { Infor p1 = new Infor(); gongneng p2 = new gongneng(); p1.name[0] = “小白”; p1.phoneNum [0] = “13649685525”; p1.IDcard [0] = “433135199906052525”; p2.hangxian[0] = “长沙—上海”; p2.time[0] = “7:30—11:30”; p1.state[0] = “经济舱”; p1.Price1 [0] = 500; p1.name[1] = “小红”; p1.phoneNum [1] = “13525645635”; p1.IDcard [1] =“436458200103045351”; p2.hangxian[1] = “长沙—深圳”; p2.time[1] = “22:00—02:30”; p1.state[1] = “商务舱”; p1.Price1 [1] = 700; Scanner input = new Scanner(System.in); int num = -1; //用户输入0返回主菜单,否则退出系统 /*boolean isExit = false; //标志用户是否退出系统:true为退出系统 */ do{ System.out.println("\n欢迎进入航班售票系统!!!"); System.out.println("*************"); System.out.println(“1.查看票余量”); System.out.println(“2.添加个人信息”); System.out.println(“3.查询个人信息”); System.out.println(“4.退出系统”); System.out.println("*************"); System.out.println(“请选择:”); int choise = input.nextInt(); switch(choise){ case 1: p2. Air_line(); p2.seat(); break; case 2: p2.Air_line(); p2.add(); break; case 3: p2.check(); break; case 4: num = 0; break; default: System.out.println(“输入错误,请输入1-4之间的数!”); } }while(num == -1); } } |
CopyRight 2018-2019 实验室设备网 版权所有 |