从java中的方法更改数组的大小

时间:2017-11-12 20:37:46

标签: java arrays

我有一个2D数组,我想让数组的大小与约会的数量相同。约会的数量可以在另一个使用此行的课程中找到

numOfAppointments = DB.numOfAppointmentsByUser(loggedInUserID);

我将数组声明在程序的顶部,以便可以从整个程序访问它,这就是:

String[][] data = new String[numOfAppointments][2];

但是我不能在数据数组上面调用numOfAppointments,因为它不在方法中并且给出了这个错误: error: <identifier> expected如果我在方法中调用numOfAppointment,那么我需要在该方法中声明数据数组,以便我可以使用numOfAppointments中的值作为数组中的大小。

我如何才能这样做,以便我可以在程序的顶部声明数组,以便可以从所有方法访问它,但同时调用numOfAppointments变量,以便我可以创建数组的大小。

我尝试将它们放在像这样的构造函数中:

numOfAppointments = DB.numOfAppointmentsByUser(loggedInUserID);

public String[][] data = new String[numOfAppointments][2];

我尝试在构造函数中公开数组,但是它会给出错误illegal start of expression,如果我删除了public,那么数据数组就无法从任何其他方法访问,因为它不是'公共,并且是该方法的孩子。谢谢你的帮助。

1 个答案:

答案 0 :(得分:3)

您需要在构造函数之外移动以下声明,以使其在全局范围内可用!

public String[][] data;

public Constructor(...) {
    int numOfAppointments = DB.numOfAppointmentsByUser(loggedInUserID);

    data = new String[numOfAppointments][2];
}