【发布时间】:2022-06-19 04:42:17
【问题描述】:
我是新手,如有任何错误,我深表歉意。
上下文:作为对象训练的一部分,我正在尝试添加对象练习的数组列表。然而。每次我尝试将对象练习添加到训练数组列表时,应用程序都会崩溃。 欢迎任何帮助。
对象训练和练习看起来像这样
public class Training {
public Integer trainingNumber;
public Date datum;
public Integer nrOfExercises;
public ArrayList<Exercise> exercises;
}
public class Training {
public Integer trainingNumber;
public Date datum;
public Integer nrOfExercises;
public ArrayList<Exercise> exercises;
}
试图生成这一切的代码如下:
private Training createRandomTraining(int i){
Training randomTraining = new Training();
Random random = new Random();
int d = random.nextInt(30)+1;
int m = random.nextInt(12)+1;
//int y = random.nextInt(21)+2000;
int amountOfExercises = random.nextInt(9-6)+6;
randomTraining.trainingNumber = i;
randomTraining.datum = new Date(2021,m,d);
for (int j = 0; j < amountOfExercises ; j ++){
Exercise exercise = new Exercise();
Random r = new Random();
int set = r.nextInt(5)+1;
int nameInt = r.nextInt(3);
int rep = r.nextInt(12)+1;
//int y = random.nextInt(21)+2000;
exercise.trainingNumber = i;
exercise.exerciseNumber = j+1;
exercise.exerciseName = getExerciseName(nameInt);
exercise.sets = set;
exercise.reps = rep;
exercise.weight = random.nextInt(200-50)+50;
randomTraining.exercises.add(exercise); //the app crashes here. //The other parts work fine.
}
randomTraining.nrOfExercises = amountOfExercises;
return randomTraining;
}
【问题讨论】:
-
拜托,你能分享一下错误日志吗?
-
我假设它是
NullPointerException。Training的类定义未初始化List<Exercise> exercises = new ArrayList<>(),因此您不能在代码中的该行#add。 -
成功了!!在 for 循环修复它之前添加 List
exercise = new ArrayList() 。非常感谢!
标签: java android android-studio arraylist add