我有一个二维数组,我想让数组的大小与约会的数量相同。约会的数量是在另一个类中用这一行找到的
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
那么数据数组不能从任何其他方法访问,因为它不是公共(public)的并且是该方法的子方法。感谢您的帮助。
最佳答案
您需要将以下声明移到构造函数之外,以使其在全局可用!
public String[][] data;
public Constructor(...) {
int numOfAppointments = DB.numOfAppointmentsByUser(loggedInUserID);
data = new String[numOfAppointments][2];
}
关于java - 从java中的方法更改数组的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47253698/