我有一个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
,那么数据数组就无法从任何其他方法访问,因为它不是'公共,并且是该方法的孩子。谢谢你的帮助。
答案 0 :(得分:3)
您需要在构造函数之外移动以下声明,以使其在全局范围内可用!
public String[][] data;
public Constructor(...) {
int numOfAppointments = DB.numOfAppointmentsByUser(loggedInUserID);
data = new String[numOfAppointments][2];
}