我试图从另一个类调用一个布尔变量到一个包含一个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类中调用此方法。有人对此有所了解吗?非常感激。
答案 0 :(得分:4)
我想你想要的是
if (jj.isJunior())
这将调用isJunior()
实例Student
上的方法jj
。该方法返回一个布尔值。此布尔值由if
语句计算。
您不需要额外的== true
,因为
jj.isJunior() == true
是一个布尔表达式,如果true
的返回值为isJunior()
,则计算结果为true
。因此,布尔表达式的结果与isJunior()
本身返回的布尔值相同。
答案 1 :(得分:2)
您的代码中存在多个错误。
使用实例jj和getter。
if (jj.isJunior() == true)
您也可以省略== true并使用if (jj.isJunior())
答案 2 :(得分:-2)
我想这就是你需要的:
if (jj.isJunior()== True )
{
totalCosts+=cost/2
}
你忘记了isJunior方法的括号。