1. 程式人生 > 程式設計 >java實現航班資訊查詢管理系統

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,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航班資訊查詢管理系統

更多學習資料請關注專題《管理系統開發》。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。