基于Java的航空售票管理系统 您所在的位置:网站首页 java航空售票系统 基于Java的航空售票管理系统

基于Java的航空售票管理系统

2024-01-17 18:44| 来源: 网络整理| 查看: 265

源码下载 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 实验室设备网 版权所有