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)文章
Spring單元測(cè)試類ApplicationTests錯(cuò)誤的解決
這篇文章主要介紹了Spring單元測(cè)試類ApplicationTests錯(cuò)誤的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01SpringBoot集成Mybatis實(shí)現(xiàn)對(duì)多數(shù)據(jù)源訪問原理
本文主要分析討論在SpringBoot應(yīng)用中我們?cè)撊绾闻渲肧qlSessionFactoryBean對(duì)象,進(jìn)而實(shí)現(xiàn)對(duì)多個(gè)不同的數(shù)據(jù)源的操縱,文章通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11基于RecyclerChart的KLine的繪制Scale詳解
這篇文章主要為大家詳細(xì)介紹了基于RecyclerChart實(shí)現(xiàn)KLine繪制Scale的相關(guān)資料,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-03-03如何解決websocket開啟多個(gè)頁面訪問同一個(gè)連接會(huì)失效的問題
使用WebSocket時(shí),若多個(gè)頁面訪問同一個(gè)WebSocket連接可能會(huì)導(dǎo)致連接失效,遇到這個(gè)問題時(shí),可以通過在SpringBoot中使用@ServerEndpoint注解并添加@Component來解決,出現(xiàn)連接錯(cuò)誤通常是因?yàn)閃ebSocket連接接收到的是一個(gè)GET請(qǐng)求2024-09-09使用Java判定一個(gè)數(shù)值是否在指定的開閉區(qū)間范圍內(nèi)
這篇文章主要給大家介紹了關(guān)于使用Java判定一個(gè)數(shù)值是否在指定的開閉區(qū)間范圍內(nèi)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-09-09