java實(shí)現(xiàn)航班信息查詢管理系統(tǒng)
本文實(shí)例為大家分享了java航班信息查詢管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
Air Infomation System 基于控制臺(tái)的航班信息系統(tǒng),簡稱AIS
具體要求如下:
(1)顯示航班信息系統(tǒng)主菜單,如圖所示,包括:
1)、列出所有航班
2)、按起飛時(shí)間查詢
3)、按目的地查詢
4)、刪除航班
5)、更新航班
6)、退出系統(tǒng)

AirInfo.java
public class AirInfo {
/*航班編號(hào)(id)
航班號(hào)(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("編號(hào)\t 航班號(hào)\t目的地\t\t起飛日期");
for(AirInfo e:flight)
System.out.println(e.getId()+"\t"+e.getFlight_number()+"\t"+e.getDestination()+" "+e.getFlight_date());
}
//按起飛時(shí)間查詢的方法
public void inquiry_date(ArrayList<AirInfo> flight){
System.out.print("請(qǐng)輸入日期:");
Scanner in=new Scanner(System.in);
String date=in.next();
for(AirInfo e:flight)
{
if(e.getFlight_date().equals(date)){
System.out.println("編號(hào)\t 航班號(hào)\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("請(qǐng)輸入目的地:");
Scanner in=new Scanner(System.in);
String destination=in.next();
for(AirInfo e:flight)
{
if(e.getDestination().equals(destination)){
System.out.println("編號(hào)\t 航班號(hào)\t目的地\t\t起飛日期");
System.out.println(e.getId()+"\t"+e.getFlight_number()+"\t"+e.getDestination()+" "+e.getFlight_date());
}
}
}
//刪除航班的方法
/*
* 方法一:用remove(index)方式刪除記錄,此處需要注意的是調(diào)用Iterator方法,
* 避免產(chǎn)生ConcurrentModificationException異常
*
public void delete_flight(ArrayList<AirInfo> flight){
System.out.print("請(qǐng)輸入需要?jiǎng)h除的航班編號(hào):");
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("刪除成功!");
}
}
}
*/
/*
* 方法二:將需要?jiǎng)h除的記錄用一個(gè)ArrayList()類包裝起來,
* 用removeAll(Collection<?> c)方法將其刪除
*/
public void delete_flight(ArrayList<AirInfo> flight){
System.out.print("請(qǐng)輸入需要?jiǎng)h除的航班編號(hào):");
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("請(qǐng)輸入需要更新的航班編碼:");
id=in.nextInt();
System.out.print("請(qǐng)輸入新的航班號(hào):");
flight_number=in.next();
System.out.print("請(qǐng)輸入新的目的地:");
destinaton=in.next();
System.out.print("請(qǐng)輸入新的起飛時(shí)間:");
flight_date=in.next();
flight.add(new AirInfo(id,flight_number,destinaton,flight_date));
System.out.println("更新成功!");
}
//退出系統(tǒng)的方法
public void exit(){
System.out.println("成功退出系統(tǒng)!");
System.exit(0);
}
}
TestAirInfo.java
import java.util.ArrayList;
import java.util.Scanner;
//啟動(dòng)和運(yùn)行系統(tǒng)
public class TestAirInfo {
public static void main(String[] args) {
AirInfoManager airInfoManager=new AirInfoManager();
//用Arraylist表示航班信息
ArrayList<AirInfo> flight=new ArrayList<>();
//為數(shù)組增加記錄
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("請(qǐng)選擇操作(1.列出所有航班,2.按起飛時(shí)間查詢,3.按目的地查詢,4.刪除航班,5.更新航班,6.退出系統(tǒng))");
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("對(duì)不起,您輸入的數(shù)字無效。請(qǐng)輸入1~6之間的數(shù)字:");
}
System.out.println();
}
}
}
源碼下載:java航班信息查詢管理系統(tǒng)
更多學(xué)習(xí)資料請(qǐng)關(guān)注專題《管理系統(tǒng)開發(fā)》。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
java基于包結(jié)構(gòu)的請(qǐng)求路由實(shí)現(xiàn)實(shí)例分享
基于包結(jié)構(gòu)的請(qǐng)求路由簡單實(shí)現(xiàn)實(shí)例分享,大家參考使用吧2013-12-12
基于Spring@Autowired注解與自動(dòng)裝配詳談
下面小編就為大家?guī)硪黄赟pring@Autowired注解與自動(dòng)裝配詳談。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10
Java使用正則表達(dá)式去除小數(shù)點(diǎn)后面多余的0功能示例
這篇文章主要介紹了Java使用正則表達(dá)式去除小數(shù)點(diǎn)后面多余的0功能,結(jié)合具體實(shí)例形式分析了java字符串正則替換相關(guān)操作技巧,需要的朋友可以參考下2017-06-06
詳解Java弱引用(WeakReference)的理解與使用
這篇文章主要介紹了Java弱引用(WeakReference)的理解與使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
java正則表達(dá)式獲取指定HTML標(biāo)簽的指定屬性值且替換的方法
下面小編就為大家?guī)硪黄猨ava正則表達(dá)式獲取指定HTML標(biāo)簽的指定屬性值且替換的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-12-12
mybatis-plus生成mapper擴(kuò)展文件的方法
這篇文章主要介紹了mybatis-plus生成mapper擴(kuò)展文件的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
SpringMVC框架整合Junit進(jìn)行單元測(cè)試(案例詳解)
本文詳細(xì)介紹在SpringMVC任何使用Junit框架。首先介紹了如何引入依賴,接著介紹了編寫一個(gè)測(cè)試基類,并且對(duì)其中涉及的各個(gè)注解做了一個(gè)詳細(xì)說明,感興趣的朋友跟隨小編一起看看吧2021-05-05
詳解Java如何進(jìn)行Base64的編碼(Encode)與解碼(Decode)
這篇文章主要介紹了詳解Java如何進(jìn)行Base64的編碼(Encode)與解碼(Decode),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03

