Java 语法方法和类

标签 java

我对 Java 很陌生,对编程也比较陌生。我有 3 个相互连接的类(class)。

第 1 类:飞行

public class Flight {

    private int flightNumber;
    Passenger passenger1 = null; // two objects?
    Passenger passenger2 = null;
    private int confirmedPassengers = 0;
    Passenger bagsChecked;
    //private boolean bagsLoaded;


    public Flight(int fn, int cf){
        flightNumber = fn;
        //passenger1 = p1;
        //passenger2 = p2;
        confirmedPassengers = cf;
        //bagsChecked = bc;

    }


        public boolean addPassenger(Passenger p){
            if (confirmedPassengers == 0){
                passenger1= p;
                confirmedPassengers+=1;         
                System.out.println("P1 has been added.");
                return true;
            }   

            if (confirmedPassengers == 1){
                passenger2 = p;
                confirmedPassengers+=1;
                System.out.println("P2 has been added");
                return true;
            }

                else{
                    System.out.println("This passenger was not added because the capacity is full.");
                    return false;

                }
        }

    }

2 类:乘客

public class Passenger {

    private String name;
    Flight flight;
    private int bagsChecked;
    private String confirmationNumber;


    public Passenger(String n, Flight f, int b, String cn){
        name = n;
        flight = f;
        bagsChecked = b;
        confirmationNumber = cn;
    }

    public boolean hasConfirmation(){
        if (confirmationNumber != null) {
            return true;
        }

        else{
            return false;

        }

    }

}

第 3 类:信息亭:

public class Kiosk {
    private int kioskNumber;

    public Kiosk (int k){
        kioskNumber = k;

    }


    public void checkIn(Passenger p){


        if (p.hasConfirmation() == true) {

            addPassenger(p); // trying to add Passenger here
            System.out.println("Passenger " + p.getName() + ""+ "added in at Kiosk1 ");


        }


    }
}

我正在尝试添加 PassengerFlight当乘客在 Kiosk 办理登机手续时。我如何使用addPassenger Flight中的方法添加PassengerKiosk

最佳答案

Kiosk.checkIn()中:

p.flight.addPassenger(p);

一些建议:

当你有一个集合(比如 passanger1 和 passanger2)时,你可能想要使用数组或更好的某种形式的 collection就像ArrayList:

ArrayList<Passanger> passangers = new ArrayList<Passanger>(2);

passangers.add(p);
System.out.println(passangers.size());

公共(public)数据成员也不是很好。在需要的地方创建 setter 和 getter,因此上面的代码应该看起来像这样(在实现 Passanger.getFlight() 之后:

p.getFlight().addPassenger(p);

关于Java 语法方法和类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12636313/

相关文章:

java - 为什么 Java 安全点从未达到?线程挂起,安全点超时

java - 将零与字符串连接起来

java - 标记 JTable 中的重复项

java - @NotNull 不始终与 MethodValidationPostProcessor 一起运行

java - 如何在sonar lint中通过远程服务器分析本地项目

java - Date.plus 在 2.5.4 Groovy Runtime 中不起作用,有什么替代方法?

java - W/System.err:java.io.FileNotFoundException : on accessing Database stored in Assets Folder

java - 实例化 Java 对象时发生异常。该类不能是接口(interface)或抽象类。错误 : javax/mail/Store

java - Hibernate 映射文件中的 DOCTYPE 标记有何用途?

java - 无法在 Servlet 中解析参数