综合练习:查询飞机航班

开发基于控制台的航班信息系统。具体要求如下:crud
(1)显示航班信息系统主菜单,如图-1所示,包括:
1)列出所有航班
2)按起飞时间查询
3)按目的地查询
4)删除航班
5)更新航班
6)退出系统
(2)列出所有航班:查出所有航班的信息,以列表形式显示,包括:编号,航班号,目的地,起飞日期。如图-2所示。
(3)按起飞时间查询:输入起飞时间(格式如2011-2-25),查出所有这一天的航班。如图-3所示。
(4)按目的地查询:输入目的地,查出所有飞往此地的航班。如图-4所示。
(5)删除航班:删除指定编号的航班。如图-5所示。
(6)更新航班:更新指定编号的航班。如图-6所示。
(7)退出系统。
系统运行界面如图-1所示。


image.png

image.png

image.png
image.png

目录
package com.aircraftflight;
/*
* 航班类
* */
public class Flight {
    //编号
    int number;
    //航班号
    int flightNumber;
    //目的地
    String destination;
    //起飞日期(格式如2011-2-25)
    String dataFlight;


    //构造器(对所有参数进行构造)
    public Flight(int number, int flightNumber, String destination, String dataFlight) {
        this.number = number;
        this.flightNumber = flightNumber;
        this.destination = destination;
        this.dataFlight = dataFlight;
    }
}
package com.aircraftflight;

import jdk.nashorn.internal.ir.WhileNode;

import java.awt.*;
import java.util.Scanner;

/*
* 操作类
* */
public class Operationfly {
    //声明一个航班的数组
    Flight[] flights = new Flight[10];

    Scanner input = new Scanner(System.in);

    Flight flights1 = new Flight(1, 001,"beijng","2010-1-1");
    Flight flights2 = new Flight(2, 002,"shanghai","2011-2-10");
    Flight flights3 = new Flight(3, 003,"guangzhou","2011-2-24");

    
    
    //初始化航班
    public void initial(){

        flights[0] = flights1;
        flights[1] = flights2;
        flights[2] = flights3;
    }


    boolean flag = true;
    public void intoSystem(){
        boolean flag = true;
        while (flag){
            System.out.print("请选择操作(1.列出所有航班,2按起飞时间查询,3.按目的地查询,4.删除航班,5更新航班,6离开系统) :");
            int s = input.nextInt();
            switch (s){
                case 1:
                    showAll();
                    break;
                case 2:
                    takeoffTime();
                    break;
                case 3:
                    destination();
                    break;
                case 4:
                    delete();
                    break;
                case 5:
                    add();
                    break;
                case 6:
                    flag = false;
                    break;
                default:
                    System.out.println("输入操作序号失败");
                    break;
            }
        }
    }






    //列出所有航班
    public void showAll(){
        System.out.println("编号  航班号     目的地     起飞日期");
        for (int i = 0; i < flights.length; i++) {
            if (flights[i]==null){
                break;
            }
            System.out.println(flights[i].number+"      "+flights[i].flightNumber+"       "+flights[i].destination+"      "+flights[i].dataFlight);
        }
    }

    //按起飞时间查询
    public void takeoffTime(){
        System.out.print("请输入日期:");
        String data = input.next();
        for (int i  = 0; i <flights.length ; i++) {
            if (flights[i]==null){
                System.out.println("没有"+data+"时间的飞机起飞");
                break;
            }
            if (data.equals(flights[i].dataFlight)){
                System.out.println("编号  航班号     目的地     起飞日期");
                System.out.println(flights[i].number+"      "+flights[i].flightNumber+"       "+flights[i].destination+"      "+flights[i].dataFlight);
                break;
            }

        }
    }

    //按目的地查询
    public void destination(){
        System.out.print("请输入目的地:");
        String address = input.next();
        for (int i = 0; i < flights.length; i++) {
            if (flights[i]==null){
                System.out.println("没有去往"+address+"的飞机");
                break;
            }
            if (address.equals(flights[i].destination)){
                System.out.println("编号  航班号     目的地     起飞日期");
                System.out.println(flights[i].number+"      "+flights[i].flightNumber+"       "+flights[i].destination+"      "+flights[i].dataFlight);
                break;
            }
        }
    }

    //删除指定航班界面
    public void delete(){
        System.out.print("请输入需要删除的航班编号:");
        int number = input.nextInt();
        for (int i = 0; i < flights.length; i++) {
            if (flights[i].number==number){
                for (int j = i; j <flights.length-1 ; j++) {
                    flights[j]=flights[j+1];
                }
                System.out.println("删除成功");
                break;
            }
            System.out.println("没有该航班编号,删除失败");
        }
    }



    //更新指定航班界面
    public void add(){
        System.out.print("请输入需要更新的航班编号:");
        int number1 = input.nextInt();
        System.out.print("请输入新的航班号:");
        int flightNumber1 = input.nextInt();
        System.out.print("请输入新的目的地:");
        String destination1 = input.next();
        System.out.print("请输入新的起飞日期:");
        String dataFlight1 = input.next();

        for (int i = 0; i < flights.length; i++) {
            if (flights[i] == null) {
                System.out.println(flights.length);
                System.out.println(i);
                flights[i] = new Flight(number1, flightNumber1, destination1, dataFlight1);
                System.out.println("添加成功");
                break;
            }
        }
    }
}
package com.aircraftflight;
/*
* 程序入口
* */
public class Menu {
    public static void main(String[] args) {
        Operationfly operationfly = new Operationfly();
        operationfly.initial();
        operationfly.intoSystem();
    }


}
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,718评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,683评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,207评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,755评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,862评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,050评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,136评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,882评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,330评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,651评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,789评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,477评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,135评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,864评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,099评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,598评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,697评论 2 351

推荐阅读更多精彩内容