我试图从另一个类调用一个布尔变量到包含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()
本身返回的布尔值相同。