我试图从另一个类调用一个布尔变量到包含arraylist的类。以下方法的目的是将一名学生添加到团队中,如果该学生未满一定年龄(例如18岁),他们将获得折扣。

这是关于学生是否为初中生的布尔结果的代码:

public boolean isJunior()
{
   return age < 18;
}


arraylist类包含一个sighUp()方法,该方法将学生添加到团队列表中。如果学生是大三学生,他们将获得折扣:

public void signUp(Student jj)
{
   team.add(jj);
   points = points + 1;
   if (Student.isJunior = true)
   {
      totalCosts = totalCosts + (cost / 2);
   }


我一直收到的错误是“ isJunior”是找不到的变量。我试图从包含布尔变量的学生类中调用此方法。有人对此有所启示吗?非常感激。

最佳答案

我想你想要的是

 if (jj.isJunior())


这将在isJunior()实例Student上调用方法jj。该方法返回一个布尔值。该布尔值由if语句评估。

您不需要额外的== true,因为

 jj.isJunior() == true


是一个布尔表达式,如果true的返回值是isJunior(),则计算结果为true。因此,布尔表达式的结果与isJunior()本身返回的布尔值相同。

08-07 04:54