当前位置: 首页 > 知识库问答 >
问题:

如何按航空公司打印飞机

柴阳云
2023-03-14

嘿,我使用一个字符串和航班的散列图来创建一个称为PlaneStore的航班存储。因此,我创建了另一个商店(航空公司商店),也使用了一个HashMap。我把飞机放进了飞机上。但我不能让航空公司用飞机打印出来。

import java.util.HashMap;


public class Airline 
{
    private String airlineName;
    private HashMap<String, PlaneStore> map;

    public Airline(String airlineName)
    {
        this.airlineName = "";
        map = new HashMap<String, PlaneStore>();
    }
    public void add(PlaneStore plane)
    {
        map.put(airlineName, plane);
    }
    public void remove(String flight)
    {
        map.remove(flight);
    }
    public void printPlane()
    {
        System.out.println("\n********Flight List********");
        for (PlaneStore plane: map.values()) {
             //System.out.println(plane);
            // class
            // or:
            System.out.println(airlineName);
            System.out.println(plane.toString());

        }

    }

}

Plane.toString是PlaneStore的toString:

public String toString() {
        return "PlaneStore [airlineName=" + airlineName + ", planeMap="
                + planeMap + "]";
    }

MainApp

import java.util.Scanner;


public class MainApp 
{
    private Scanner keyboard = new Scanner(System.in);
    public static void main(String[] args)
    {
        new MainApp().start();  
    }

    public void start()
    {
        Airline airline1 = new Airline("AerLingus");
        Airline airline2 = new Airline("Ryan Air");
        PlaneStore planeStore = new PlaneStore("Aer Lingus");
        PlaneStore planeStore2 = new PlaneStore("Ryan Air");

        Flight p1 = new Flight("Aer Lingus","A01", 150.5, 10.5, 500, Flight.AIRPLANETYPE.AIRBUS);
        Flight p2 = new Flight("Aer Lingus","B01", 50.3, 1.5, 91, Flight.AIRPLANETYPE.CORPORATE);
        Flight p3 = new Flight("Aer Lingus","C01", 12.2, -3.1, 56, Flight.AIRPLANETYPE.AIRBUS);


        Flight p4 = new Flight("Ryan Air","D01", 10.5, 1.5, 430, Flight.AIRPLANETYPE.PRIVATE);
        Flight p5 = new Flight("Ryan Air","E01", 0.3, 2.1, 101, Flight.AIRPLANETYPE.CORPORATE);
        Flight p6 = new Flight("Ryan Air","F01", 2.2, -3, 291, Flight.AIRPLANETYPE.AIRBUS);
        planeStore.add(p1);
        planeStore.add(p2);
        planeStore.add(p3);
        planeStore.print();

        airline1.add(planeStore);
        airline1.add(planeStore);
        airline1.add(planeStore);
        airline1.printPlane();

        planeStore2.add(p4);
        planeStore2.add(p5);
        planeStore2.add(p6);

        airline2.add(planeStore2);
        airline2.add(planeStore2);
        airline2.add(planeStore2);
        airline2.printPlane();



    }

}

共有1个答案

牛智志
2023-03-14

您的Airline解释器接收到一个String参数,但您没有将Airline>类的实例变量AirlineName赋值给此参数。您只是将airlineName设置为“”。

public Airline(String airlineName)
    {
        this.airlineName = "";
        map = new HashMap<String, PlaneStore>();
    }

你的意思是:

public Airline(String airlineName)
        {
            this.airlineName = airlineName;
            map = new HashMap<String, PlaneStore>();
        }

进一步查看代码,每个Airline类都将有一个map但您只将一个键和值Planestore添加到这个Maps中。因此,对于每个airline类上的每个map似乎永远不会有两个或更多的键。因此,使用map没有意义,您可以使用arraylist

如果我正确理解您的目标,您可以将您的航空等级简化为如下所示:

public class Airline 
{
    private String airlineName;                // Name of the company
    private ArrayList <PlaneStore> planeStore;

    public Airline(String airlineName)
    {
        this.airlineName = airlineName;
        map = new ArrayList<PlaneStore>();
    }
    public void add(PlaneStore plane){ planeStore.add(plane);}


    public void printPlane()
    {

        System.out.println(airlineName);
        System.out.println("\n********Flight List********");
        for (PlaneStore plane: planeStore)
        {
            System.out.println(plane.toString());
        }

    }

}

 类似资料:
  • 在生产模式中使用自助API——我不会让美国航空公司参与结果。示例:“https://api.amadeus.com/v2/shopping/flight-offers?originLocationCode=PHX

  • SpaceCompany太空公司是一款科幻增量游戏,您从地球上的起点开始,逐步发展到星系之间旅行,搭建戴森球(Dyson Spheres)以及探索占领整个星系的殖民地 点击可玩  

  • 太空公司 NG 是一款关于资源挖掘、星际探索和系统征服的增量太空游戏,该游戏是对 Sparticle999 原版游戏的重制。

  • 本文向大家介绍比较公司和公司。,包括了比较公司和公司。的使用技巧和注意事项,需要的朋友参考一下 公司与公司之间的主要区别如下- 公司 成立公司 这是经营业务的实体。 注册为公司的第一步。 它被称为CORP。 它被称为INC。 第二阶段的业务。 进行公司注册手续。 持有个人资产负债。 有限责任。 成立过程的结果。 应遵循法律程序。 不要为公司筹集资金。 充当集资渠道。 与日常业务活动有关。 维护所有

  • 问题内容: keytool中是否可以打印证书的公钥?我试过了: 但是它仅提供以下信息: 在此没有公钥。 问题答案: 您可以使用做到这一点。 如果此证书是DER编码的(二进制),请使用: 用于PEM编码的使用选项(或完全不设置)。 要查看公钥的详细信息,请使用:

  • 为了测试一个程序,我编写了以下语句: