温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java中如何实现一个航空航班管理系统

发布时间:2021-07-31 12:36:36 来源:亿速云 阅读:489 作者:Leah 栏目:开发技术

Java中如何实现一个航空航班管理系统,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

Plane对象:

在Plane对象里定义了飞机的编号id、航班号、目的地、起飞日期。生成了构造方法和toString()方法;以及getting()和setting()方法,但在程序里没用到。

package com.hangkong; public class Plane {    private int id;//编号  private String planeNum;//航班号  private String address;//目的地  private String date;//日期        public Plane(int id, String planeNum, String address, String date) {   super();   this.id = id;   this.planeNum = planeNum;   this.address = address;   this.date = date;  }    public Plane(){   super();  }  //Alt+Shift+s  public int getId() {   return id;  }  public void setId(int id) {   this.id = id;  }  public String getPlaneNum() {   return planeNum;  }  public void setPlaneNum(String planeNum) {   this.planeNum = planeNum;  }  public String getAddress() {   return address;  }  public void setAddress(String address) {   this.address = address;  }  public String getDate() {   return date;  }  public void setDate(String date) {   this.date = date;  }    @Override  public String toString() {   return "Plane" + id + "\t\t" + planeNum + "\t\t" + address + "\t\t" + date;   //return "Plane ID:" + id + "\t航班编号:" + planeNum + "\t目的地:" + address + "\t起飞时间:" + date;  } }

MySQL数据库:

数据库名字是Fly,数据表是plane;在getcon()函数中注册驱动、获取连接

SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for `plane` -- ---------------------------- DROP TABLE IF EXISTS `plane`; 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<Plane> 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<Plane> listMessage() throws Exception{   getCon();   String sql = "select * from plane";   ps = con.prepareStatement(sql);   rs = ps.executeQuery();      Set<Plane> 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<Plane> 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<Plane> 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<Plane> 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<Plane> 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);  } }

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI