java实现航班信息查询管理系统

 更新时间:2019年12月27日 10:49:35   转载 作者:gamedev’  
这篇文章主要为大家详细介绍了java实现航班信息查询管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了java航班信息查询管理系统的具体代码,供大家参考,具体内容如下

Air Infomation System 基于控制台的航班信息系统,简称AIS

具体要求如下:

(1)显示航班信息系统主菜单,如图所示,包括:

1)、列出所有航班

2)、按起飞时间查询

3)、按目的地查询

4)、删除航班

5)、更新航班

6)、退出系统

AirInfo.java

public class AirInfo {
 /*航班编号(id)
  航班号(flight_number)
  目的地(destination)
  起飞日期(flight_date)
 */
 private int id;
 private String flight_number;
 private String destination;
 private String flight_date;
 
 public AirInfo(int id, String flight_number, String destination, String flight_date){
 this.id=id;
 this.flight_number=flight_number;
 this.destination=destination;
 this.flight_date=flight_date;
 }
 public int getId() {
 return id;
 }
 public void setId(int id) {
 this.id = id;
 }
 public String getFlight_number() {
 return flight_number;
 }
 public void setFlight_number(String flight_number) {
 this.flight_number = flight_number;
 }
 public String getDestination() {
 return destination;
 }
 public void setDestination(String destination) {
 this.destination = destination;
 }
 public String getFlight_date() {
 return flight_date;
 }
 public void setFlight_date(String flight_date) {
 this.flight_date = flight_date;
 }
 
}

AirInfoManager.java

import java.util.*;

public class AirInfoManager {


 //列出所有航班的方法
 public void all_flight(ArrayList<AirInfo> flight){
 System.out.println("编号\t 航班号\t目的地\t\t起飞日期");
 for(AirInfo e:flight)
  System.out.println(e.getId()+"\t"+e.getFlight_number()+"\t"+e.getDestination()+"    "+e.getFlight_date());
 
 }
 
 //按起飞时间查询的方法
 public void inquiry_date(ArrayList<AirInfo> flight){
 System.out.print("请输入日期:");
 Scanner in=new Scanner(System.in);
 String date=in.next();
 for(AirInfo e:flight)
 {
  if(e.getFlight_date().equals(date)){
  System.out.println("编号\t 航班号\t目的地\t\t起飞日期");
  System.out.println(e.getId()+"\t"+e.getFlight_number()+"\t"+e.getDestination()+"    "+e.getFlight_date());
  }
 }
 }
 
 //按目的地查询的方法
 public void inquiry_destination(ArrayList<AirInfo> flight){
 System.out.print("请输入目的地:");
 Scanner in=new Scanner(System.in);
 String destination=in.next();
 for(AirInfo e:flight)
 {
  if(e.getDestination().equals(destination)){
  System.out.println("编号\t 航班号\t目的地\t\t起飞日期");
  System.out.println(e.getId()+"\t"+e.getFlight_number()+"\t"+e.getDestination()+"    "+e.getFlight_date());
  }
 }
 }
 
 //删除航班的方法
 /*
 * 方法一:用remove(index)方式删除记录,此处需要注意的是调用Iterator方法,
 * 避免产生ConcurrentModificationException异常
 *
 public void delete_flight(ArrayList<AirInfo> flight){
 System.out.print("请输入需要删除的航班编号:");
 Scanner in=new Scanner(System.in);
 int id=in.nextInt();
 Iterator<AirInfo> iterator = flight.iterator();
 while(iterator.hasNext()){
  AirInfo e = iterator.next();
  if(e.getId()==id){
  iterator.remove();
  System.out.println("删除成功!");
  }
 }
 }
 */
 
 /*
 * 方法二:将需要删除的记录用一个ArrayList()类包装起来,
 * 用removeAll(Collection<?> c)方法将其删除
 */
 public void delete_flight(ArrayList<AirInfo> flight){
 System.out.print("请输入需要删除的航班编号:");
 Scanner in=new Scanner(System.in);
 List delList = new ArrayList();
 int id=in.nextInt();
 for(AirInfo e:flight)
 {
  if(e.getId()==(id))
  delList.add(e);
 }
 flight.removeAll(delList);
 System.out.println("删除成功!");
 }
 //更新航班的方法
 public void update_flight(ArrayList<AirInfo> flight){
 Scanner in=new Scanner(System.in);
 int id;
 String flight_number,destinaton,flight_date;
 System.out.print("请输入需要更新的航班编码:");
 id=in.nextInt();
 System.out.print("请输入新的航班号:");
 flight_number=in.next();
 System.out.print("请输入新的目的地:");
 destinaton=in.next(); 
 System.out.print("请输入新的起飞时间:");
 flight_date=in.next(); 
 flight.add(new AirInfo(id,flight_number,destinaton,flight_date));
 System.out.println("更新成功!");
 }
 
 
 //退出系统的方法
 public void exit(){
 System.out.println("成功退出系统!");
 System.exit(0);
 }
}

TestAirInfo.java

import java.util.ArrayList;
import java.util.Scanner;

//启动和运行系统
public class TestAirInfo {

 public static void main(String[] args) {

 AirInfoManager airInfoManager=new AirInfoManager();
  //用Arraylist表示航班信息
  ArrayList<AirInfo> flight=new ArrayList<>();
  
  //为数组增加记录
  flight.add(new AirInfo(1,"001","beijing","2016-1-1"));
  flight.add(new AirInfo(2,"002","shanghai","2016-2-20"));
  flight.add(new AirInfo(3,"003","guangzhou","2016-2-24"));
  
 Scanner in=new Scanner(System.in);
 while(true){
 System.out.print("请选择操作(1.列出所有航班,2.按起飞时间查询,3.按目的地查询,4.删除航班,5.更新航班,6.退出系统)");
 switch(in.nextInt()){
 case 1:
  airInfoManager.all_flight(flight);
  break;
 case 2:
  airInfoManager.inquiry_date(flight);
  break;
 case 3:
  airInfoManager.inquiry_destination(flight);
  break;
 case 4:
  airInfoManager.delete_flight(flight);
  break;
 case 5:
  airInfoManager.update_flight(flight);
  break;
 case 6:
  airInfoManager.exit();
  default:System.out.println("对不起,您输入的数字无效。请输入1~6之间的数字:");
 }
 System.out.println();
 }
 }

}

源码下载:java航班信息查询管理系统

更多学习资料请关注专题《管理系统开发》。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • java乐观锁原理与实现案例分析

    java乐观锁原理与实现案例分析

    这篇文章主要介绍了java乐观锁原理与实现,结合具体案例形式分析了乐观锁的原理及java使用乐观锁实现自动派单功能的相关操作技巧,需要的朋友可以参考下
    2019-10-10
  • Java集合框架ArrayList源码分析(一)

    Java集合框架ArrayList源码分析(一)

    这篇文章主要为大家详细介绍了Java集合框架ArrayList源码分析,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • Mybatis批量插入更新xml方式和注解方式的方法实例

    Mybatis批量插入更新xml方式和注解方式的方法实例

    这篇文章主要给大家介绍了关于Mybatis批量插入更新xml方式和注解方式的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Mybatis具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-12-12
  • Java中汉字转拼音pinyin4j用法实例分析

    Java中汉字转拼音pinyin4j用法实例分析

    这篇文章主要介绍了Java中汉字转拼音pinyin4j用法,结合实例形式较为详细的分析了pinyin4j库的具体使用技巧,需要的朋友可以参考下
    2015-12-12
  • Java集合教程之Collection实例详解

    Java集合教程之Collection实例详解

    集合,或者叫容器,是一个包含多个元素的对象,下面这篇文章主要给大家介绍了关于Java集合教程之Collection的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-08-08
  • java模拟实现斗地主发牌小程序

    java模拟实现斗地主发牌小程序

    这篇文章主要为大家详细介绍了java模拟实现斗地主发牌小程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • java实现学生选课系统

    java实现学生选课系统

    这篇文章主要为大家详细介绍了java实现学生选课系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • java多线程消息队列的实现代码

    java多线程消息队列的实现代码

    本篇文章主要介绍了java多线程消息队列的实现代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • 浅谈序列化之protobuf与avro对比(Java)

    浅谈序列化之protobuf与avro对比(Java)

    下面小编就为大家带来一篇浅谈序列化之protobuf与avro对比(Java)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • 邻接表无向图的Java语言实现完整源码

    邻接表无向图的Java语言实现完整源码

    这篇文章主要介绍了邻接表无向图的Java语言实现完整源码,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12

最新评论