我有3个类(包含Main类),分别具有getter,setter和构造函数。在一个名为Airplane的类中,我设置了两个私有整数行和列,并要求Main类的用户输入。之后,我想在一个名为Flight的类中通过将行和列整数来设置数组的大小,该怎么办?
我试图创建一个扫描器对象和一个飞行类中的飞机对象,但是我意识到我要的是我已经在Main中设置的另一个不同的值。有什么方法可以从主行中获取值行和列并放入Flight类中?
飞机舱:
public class Airplane {
private String code;
private String description;
private int rows;
private int columns;
飞行舱:
public class Flight {
private String ticketCode;
private String AirportDeparture;
private String AirportLanding;
private int Seats[][];
private String menuCode;
private int NumOfSeats;
private int NumOfTakenSeats;
private LocalDate dateOfDeparture;
private LocalTime timeOfDeparture;
主类:
Airplane airp = new Airplane();
System.out.println("Give a code.");
String code = scanner.nextLine();
airp.setCode(code);
System.out.println("Give number of rows.");
int rows = scanner.nextInt();
airp.setRows(rows);
System.out.println("Give number of columns.");
int columns = scanner.nextInt();
airp.setColumns(columns);
System.out.println("Give number of business class rows.");
int BCrows = scanner.nextInt();
airp.setBCrows(BCrows);
答案 0 :(得分:2)
一个航班与一架飞机相关联,因此应该简单地引用它。
public class Flight {
private Airplane airplane;
private int[][] seats;
}
设置平面后,您将能够使用平面的值初始化数组。
public void setPlane(Airplane airplane){
this.airplane = airplane;
this.seats = new int[airplane.getRows()][airplane.getColumns()];
}
请注意,我使用了一个setter,它可以/应该在构造函数中。
现在,我们可以争论飞机是否应该参考其飞行,但这并不是重点。