假设我们有一个班级学生和一个班级活动。
class Student {
private Activity[] myActivites;
public Activity[] getAct() {
return this.myActivites
}
}
class Activity {
private String name;
public String getName(){
return this.name;
}
private Student[] members;
}
members数组代表进入此特定活动的所有学生,而Student中的myActivites数组代表特定学生正在访问的所有不同活动。
我如何在活动类中编写一个INT方法,该方法返回此特定活动中所有学生正在访问的不同命名的活动的数量(因此,两个不同的Activity对象可以有相同的名字!)
编辑: 谢谢你的关注。这实际上不是家庭作业,我准备下周进行测试。 希望你能原谅我没有将代码翻译成英文,因为这需要相当长的时间。 这是我必须编写的更大程序的一部分。到目前为止,我做过类似的事情:
public int steviloRazlicnihDejavnosti() {
int najboljPriden = this.clani[0].getSteviloKrozkov();
for (int i=1; i<this.clani.length; i++) {
int trenutnaPridnost = this.clani[i].getSteviloKrozkov();
if (trenutnaPridnost > najboljPriden) {
najboljPriden = trenutnaPridnost;
}
}
String[][] krozkiClanov = new String[this.clani.length][najboljPriden];
for (int i=0; i<this.clani.length; i++) {
Ucenec trenutni = this.clani[i];
Krozek[] krozkiTrenutnega = trenutni.getKrozki();
for (int j=0; j<krozkiTrenutnega.length; j++) {
krozkiClanov[i][j] = krozkiTrenutnega[j].getDejavnost();
}
}
int stevec = 0;
return;
“Krozek”是班级活动。 “Ucenec”是班级学生。 首先,我弄清楚,哪个学生的活动最多,然后设置这个长度的2d字符串数组(以及所有学生的长度),我填写活动名称。然后,我正在考虑检查2D阵列(尚未写出来),但相信这将花费太多时间 - 我基本上只是延长了我之前遇到的同样问题。
希望这表明我实际上已经做了一些工作。 我也尝试通过添加一个额外的布尔属性“HasBeenChecked”来解决它,并且不会计算任何“HasBeenChecked”的对象,但是认为这对重新编写名称的副本没有帮助。