gpt4 book ai didi

java - 如何在太多类之间传递值?

转载 作者:行者123 更新时间:2023-11-30 01:51:05 25 4
gpt4 key购买 nike

我有三个类(包含主类),带有 getter、setter 和构造函数。在一个名为 Airplane 的类中,我设置了两个私有(private)整数行和列,并要求主类中的用户输入。之后,我想通过这个整数行和列来设置名为 Flight 的类中的数组的大小。我应该怎么做?

我尝试在 Flight 类中创建一个扫描仪对象和一个来自 Airplane 的对象,但我意识到我要求提供另一个已在 Main 中设置的不同值。有什么方法可以从 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);

最佳答案

航类与飞机相关联,因此它应该简单地引用它。

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,这可以/应该在构造函数中。

现在,我们可以争论飞机是否应该引用其航类,但这并不是真正的重点。

关于java - 如何在太多类之间传递值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56021418/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com