ArrayList无法找到变量isJunior

时间:2014-01-04 15:33:37

标签: java arraylist

我试图从另一个类调用一个布尔变量到一个包含一个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'是一个无法找到的变量。我试图从包含布尔变量的student类中调用此方法。有人对此有所了解吗?非常感激。

3 个答案:

答案 0 :(得分:4)

我想你想要的是

 if (jj.isJunior())

这将调用isJunior()实例Student上的方法jj。该方法返回一个布尔值。此布尔值由if语句计算。

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

 jj.isJunior() == true

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

答案 1 :(得分:2)

您的代码中存在多个错误。

  1. 不使用实例jj,即方法参数
  2. 不使用等号运算符
  3. 不使用getter方法
  4. 使用实例jj和getter。

     if (jj.isJunior() == true)
    

    您也可以省略== true并使用if (jj.isJunior())

答案 2 :(得分:-2)

我想这就是你需要的:

if (jj.isJunior()== True )  
                       {  
                            totalCosts+=cost/2  
                       } 

你忘记了isJunior方法的括号。