做个小项目那不是简简单单!Java实现航空航班管理系统。

CREATE TABLE plane (

id int(20) NOT NULL AUTO_INCREMENT,

planeNum varchar(20) DEFAULT NULL,

address varchar(20) DEFAULT NULL,

date varchar(20) DEFAULT NULL,

PRIMARY KEY (id)

) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8;


– Records of plane


INSERT INTO plane VALUES (‘1’, ‘DZ001’, ‘东京’, ‘2019-9-1’);

INSERT INTO plane VALUES (‘2’, ‘DZ002’, ‘上海’, ‘2019-8-28’);

INSERT INTO plane VALUES (‘3’, ‘DZ003’, ‘广州’, ‘2019-8-29’);

INSERT INTO plane VALUES (‘4’, ‘DZ004’, ‘深圳’, ‘2019-8-29’);

INSERT INTO plane VALUES (‘5’, ‘DZ005’, ‘厦门’, ‘2019-8-30’);

INSERT INTO plane VALUES (‘6’, ‘DZ006’, ‘杭州’, ‘2019-8-30’);

INSERT INTO plane VALUES (‘7’, ‘DZ007’, ‘武汉’, ‘2019-8-30’);

INSERT INTO plane VALUES (‘8’, ‘DZ008’, ‘成都’, ‘2019-8-30’);

INSERT INTO plane VALUES (‘9’, ‘DZ009’, ‘西安’, ‘2019-8-30’);

INSERT INTO plane VALUES (‘10’, ‘DZ0010’, ‘郑州’, ‘2019-8-30’);

INSERT INTO plane VALUES (‘11’, ‘DZ0011’, ‘长沙’, ‘2019-8-30’);

INSERT INTO plane VALUES (‘12’, ‘DZ0012’, ‘民权’, ‘2019-8-31’);

INSERT INTO plane VALUES (‘13’, ‘DZ0013’, ‘莫斯科’, ‘2019-9-1’);

INSERT INTO plane VALUES (‘14’, ‘DZ0014’, ‘曼谷’, ‘2019-9-2’);

INSERT INTO plane VALUES (‘15’, ‘DZ0015’, ‘阿布扎比’, ‘2019-9-2’);

主程序TestFly:


TestFly类中有实现各种功能的函数,包括 1.列出所有航班,2.按起飞时间查询,3.按目的地查询,4.删除航班,5.更新航班,6.增加航班,7.退出系统。

package com.hangkong;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.util.HashSet;

import java.util.Scanner;

import java.util.Set;

import org.omg.CosNaming.NamingContextExtPackage.StringNameHelper;

import com.mysql.jdbc.ExceptionInterceptor;

import com.sun.javafx.runtime.VersionInfo;

import com.sun.xml.internal.ws.api.pipe.NextAction;

public class TestFly {

static Connection con = null;//连接

static PreparedStatement ps = null;//模板

static ResultSet rs = null;//结果集

public static void main(String[] args) throws Exception {

System.out.println(“大壮航空航班信息管理系统**\n”);

//show();

boolean bool = Dome();

while(bool){

bool = Dome();

}

if(!bool){

System.out.println(“已成功退出大壮航空航班信息管理系统\n”);

System.exit(0);

}

}

//流程

public static boolean Dome() throws Exception{

Scanner scan = new Scanner(System.in);

show();

int key = scan.nextInt();

switch (key) {

case 1:

showMessage(listMessage());

break;

case 2:{

System.out.println(“输入起飞时间:”);

String date = scan.next();

showMessage(selectDate(date));

}break;

case 3:{

System.out.println(“输入目的地:”);

String Address = scan.next();

showMessage(selectAddress(Address));

}break;

case 4:{

System.out.println(“输入航班编号:”);

String planeNum = scan.next();

deleteFly(planeNum);

}break;

case 5:{

System.out.println(“输入航班编号和更改后目的地和时间:”);

String planeNum = scan.next();

String Address = scan.next();

String date = scan.next();

updateFly(Address,date,planeNum);

}break;

case 6:{

System.out.println(“输入航班编号、目的地、起飞时间:”);

String planeNum = scan.next();

String Address = scan.next();

String date = scan.next();

creatPlane(planeNum,Address,date);

}break;

default:

//scan.close();

return false;

}

//scan.close();

return true;

}

//注册驱动,获取连接

public static Connection getCon() throws Exception{

Class.forName(“com.mysql.jdbc.Driver”);

con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/fly”, “root”, “”);

return con;

}

//创建初始信息,插入信息

public static void creatPlane(String planeNum,String address, String date) throws Exception{

getCon();

String sql = “insert into plane values (null,?,?,?)”;

ps = con.prepareStatement(sql);

ps.setString(1, planeNum);

ps.setString(2, address);

ps.setString(3, date);

ps.executeUpdate();

ps.close();

con.close();

selectPlaneNum(planeNum);

}

//系统主菜单

public static void show(){

System.out.println(“请选择操作:(1.列出所有航班,2.按起飞时间查询,3.按目的地查询,4.删除航班,5.更新航班,6.增加航班,7.退出系统)”);

}

//获取结果集合输出

public static void showMessage(Set set){

System.out.println(“\n大壮航空***\n”);

if(set.size() == 0){

System.out.println(“未匹配到任何数据!”);

System.out.println(“\n大壮航空***\n”);

return;

}

System.out.println(“Plane\t\t航班编号\t目的地\t\t起飞时间”);

for( Plane value : set){

System.out.println(value);

}

System.out.println(“\n大壮航空***\n”);

}

//列出所有航班信息

public static Set listMessage() throws Exception{

getCon();

String sql = “select * from plane”;

ps = con.prepareStatement(sql);

rs = ps.executeQuery();

Set set = new HashSet<>();

while(rs.next()){

int id = rs.getInt(“id”);

String planeNum = rs.getString(“planeNum”);

String address = rs.getString(“address”);

String dateTime = rs.getString(“date”);

Plane plane = new Plane(id, planeNum, address, dateTime);

set.add(plane);

}

ps.close();

con.close();

return set;

}

//按起飞时间查询

public static Set selectDate(String date) throws Exception{

getCon();

String sql = "select * from plane where date = ? ";

ps = con.prepareStatement(sql);

ps.setString(1, date);

rs = ps.executeQuery();

Set set = new HashSet<>();

//String planes = “”;

while(rs.next()){

int id = rs.getInt(“id”);

String planeNum = rs.getString(“planeNum”);

String address = rs.getString(“address”);

String dateTime = rs.getString(“date”);

Plane plane = new Plane(id, planeNum, address, dateTime);

set.add(plane);

//planes += plane.toString() + “\n”;

}

ps.close();

con.close();

return set;

}

//按目的地查询

public static Set selectAddress(String Address) throws Exception{

getCon();

String sql = "select * from plane where address = ? ";

ps = con.prepareStatement(sql);

ps.setString(1, Address);

rs = ps.executeQuery();

Set set = new HashSet<>();

//String planes = “”;

while(rs.next()){

int id = rs.getInt(“id”);

String planeNum = rs.getString(“planeNum”);

String address = rs.getString(“address”);

String dateTime = rs.getString(“date”);

Plane plane = new Plane(id, planeNum, address, dateTime);

set.add(plane);

//planes += plane.toString() + “\n”;

}

ps.close();

con.close();

return set;

}

//按航班编号

public static void selectPlaneNum(String planeNum) throws Exception{

getCon();

String sql = "select * from plane where planeNum = ? ";

ps = con.prepareStatement(sql);

ps.setString(1, planeNum);

rs = ps.executeQuery();

boolean x = true;

while(rs.next()){

if(x){

System.out.println(“\n大壮航空***\n”);

System.out.println(“Plane\t\t航班编号\t目的地\t\t起飞时间”);

}

int id = rs.getInt(“id”);

String planenum = rs.getString(“planeNum”);

String address = rs.getString(“address”);

String date = rs.getString(“date”);

System.out.println(“Plane” + id + “\t\t” + planenum + “\t\t” + address + “\t\t” + date);

x = false;

}

System.out.println(“\n大壮航空***\n”);

}

//按航班编号删除航班

public static void deleteFly(String planeNum) throws Exception{

getCon();

String sql = "delete from plane where planeNum = ? ";

ps = con.prepareStatement(sql);

ps.setString(1, planeNum);

ps.executeUpdate();

ps.close();

con.close();

System.out.println(“\n大壮航空***\n”);

System.out.println(“已删除!”);

System.out.println(“\n大壮航空***\n”);

}

//按航班编号更新航班目的地和时间

public static void updateFly(String Address,String date,String planeNum) throws Exception{

getCon();

String sql = "update plane set address = ?,date = ? where planeNum = ? ";

ps = con.prepareStatement(sql);

ps.setString(1, Address);

ps.setString(2, date);

ps.setString(3, planeNum);

ps.executeUpdate();

ps.close();

con.close();

selectPlaneNum(planeNum);

}

}

##结束

下面是博主剪辑的视频资料 可能与文章无关 希望大家可以支持一下哦!谢谢大家支持!

UP主:我只需一小时带你玩转Git&Github B友直呼:菜鸡这不是有手就行?

【面试必备】阿里资深架构师详解 2021最新 Java秒杀系统高性能高并发实战项目

Java零基础小白看完我这个系列视频都可以自己做实战项目啦!拿捏呢!

2021最新版lntellij IDEA 安装、配置、环境变量教学
2021最新算法训练营:左神带你 爆刷LeetCode算法(1000题) 进大厂的必修算法课程!
B站首发 花费12980巨资购买的 微服务SpringCloud Alibaba全集

# OOP(机试) 本程序总结文章:http://blog.qiji.tech/?p=10344 - - - ## 程序基本要求 一、项目名称: Air Infomation Programming 基于控制台的航班信息程序,简称AIP 二、具体要求如下: (1)显示航班信息程序主菜单,如图-1所示,包括: * 1)列出所有航班 * 2)按起飞时间查询 * 3)按目的地查询 * 4)删除航班 * 5)更新航班 * 6)退出系统 (2)列出所有航班:查出所有航班的信息,以列表形式显示,包括:编号,航班号,目的地,起飞日期。 (3)按起飞时间查询:输入起飞时间(格式如2011-2-25),查出所有这一天的航班。 (4)按目的地查询:输入目的地,查出所有飞往此地的航班。 (5)删除航班:删除指定编号的航班。 (6)更新航班:更新指定编号的航班。 (7)退出系统。 三、类的设计 需要定义如下类 * 航班信息实体类(AirInfo) * 航班编号(id) * 航班号(flight_number) * 目的地(destination) * 起飞日期(flight_date) * 航班信息管理类AirInfoManager类 * 程序入口类TestAirInfo类 四、具体要求及推荐实现步骤 1. 创建实体类AirInfo,属性私有化,根据业务提供需要的构造方法和setter/getter方法。 1. 创建航班管理AirInfoManager类,在类中提供列出所有航班的方法,按起飞时间查询的方法、按目的地查询的方法、删除航班的方法、更新航班的方法、退出程序的方法。 2. 创建TestAirInfo类,启动和运行程序。 3. 航班的信息用ArrayList(或数组)保存。 4. 要求代码规范,命名正确。 - - -
目 录 前 言 1 第1章 需求分析 2 §1.1 开发必要性 2 §1.2 可行性分析 2 §1.2.1 经济可行性分析 2 §1.2.2 技术可行性分析 3 §1.2.3 现有系统的分析 3 第2章 系统分析 4 §2.1 系统逻辑模型的提出 4 §2.2 系统的功能介绍 4 §2.3 系统开发工具和开发语言 5 §2.3.1 开发工具 5 §2.3.2 开发语言 6 第3章 总体设计 7 §3.1 系统功能设计 7 §3.2 系统功能模块简介 7 第4章 数据库设计 10 §4.1 概念结构设计 10 §4.2 逻辑结构设计 11 §4.3 物理结构设计 12 第5章 详细设计 14 §5.1 关键业务流程描述 14 §5.1.1 航空售票管理 14 §5.1.2 管理员管理流程 14 §5.2 系统界面设计 15 §5.2.1 主功能界面 15 §5.2.2 其他功能界面 16 §5.3 模块代码实现 18 §5.3.1 航空订票查询模块 18 §5.3.2 航空售票管理模块 19 第6章 系统测试 21 §6.1 软件测试的目标 21 §6.2 具体测试 21 结 论 24 参考文献 25 致 谢 27 §5.3.1 航空订票查询模块 航空订票查询主要实现对票据信息种类的添加、修改和删除功能。票据信息种类是系统内容的最高级别,所以在添加、修改或删除票据信息时,也必须选择该票据信息所属的票据信息种类。下面是票据信息种类的添加、修改和删除功能的主要实现代码。 public void actionPerformed(ActionEvent e) { this.flightNumber = flightField.getText().trim(); if (flightNumber.length() == 0) //未输入信息 { JOptionPane.showMessageDialog(null,"请输入航班号或者从列表中选择", "错误信息",JOptionPane.ERROR_MESSAGE); return; } executeFlightQuery(); } public void executeFlightQuery() { String sqlString = "SELECT DISTINCT * FROM " +"flight " + "WHERE flight=" + "\'" + flightNumber + "\'"; ResultSet rs = sqlBean.executeQuery(sqlString); if (rs != null) showResult(rs); else JOptionPane.showMessageDialog(null,"没有连接上数据库!", "错误信息",JOptionPane.ERROR_MESSAGE); } 以上是对数据添加的程序代码,该段代码实现了获得用户数据输入,并把数据插入到数据库当中的功能。 。。。。。。。。。。。。。。。。。。。。。。。。。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值