使用 while 循环,从静态上下文引用问题
Using while loop, issue with referencing from static context
目前我正在 BlueJ 中完成一项任务。
我的问题很简单(我希望如此)。我希望在 while 循环中使用的方法是 "getRearWheelDrive()",它检查 ArrayList< Lamborghini > inventory 中有多少兰博基尼有后轮驱动。 rearWheelDrive 是一个布尔变量。
此外,我不能对这个问题使用for循环,否则我会因为它会容易得多。我仅限于 while 循环。
我收到的错误消息是:"non-static method getIsRearWheelDrive() cannot be referenced from a static context" - 我试图创建一个静态方法,但它也不起作用。
//
如何检查 ArrayList 库中的所有 Lamborghini 对象,然后 return 一个 int 值表示总共有多少个 rearWheelDrive?另外,对于我当前的代码,它会在到达索引末尾时导致循环结束,还是会无限循环?
public int howManyAreRearWheelDrive()
{
int indexPlace = 0;
int number = 0;
int i = 0;
while(indexPlace <= inventory.size())
{
indexPlace++;
inventory.get(i);
i++;
if(Lamborghini.getIsRearWheelDrive() == true) {
number++;
}
}
return number;
}
您需要从兰博基尼 class 的实例而不是 class 本身调用 getIsRearWheelDrive。只能使用 class 名称调用静态变量,此处并非如此。
在此示例中,它将是
inventory.get(i).getIsRearWheelDrive();
没有看到其他相关的 类 正在播放:
while(indexPlace < inventory.size())
{
if(inventory.get(indexPlace++).getIsRearWheelDrive() == true) {
number++;
}
}
目前我正在 BlueJ 中完成一项任务。 我的问题很简单(我希望如此)。我希望在 while 循环中使用的方法是 "getRearWheelDrive()",它检查 ArrayList< Lamborghini > inventory 中有多少兰博基尼有后轮驱动。 rearWheelDrive 是一个布尔变量。
此外,我不能对这个问题使用for循环,否则我会因为它会容易得多。我仅限于 while 循环。
我收到的错误消息是:"non-static method getIsRearWheelDrive() cannot be referenced from a static context" - 我试图创建一个静态方法,但它也不起作用。
//
如何检查 ArrayList 库中的所有 Lamborghini 对象,然后 return 一个 int 值表示总共有多少个 rearWheelDrive?另外,对于我当前的代码,它会在到达索引末尾时导致循环结束,还是会无限循环?
public int howManyAreRearWheelDrive()
{
int indexPlace = 0;
int number = 0;
int i = 0;
while(indexPlace <= inventory.size())
{
indexPlace++;
inventory.get(i);
i++;
if(Lamborghini.getIsRearWheelDrive() == true) {
number++;
}
}
return number;
}
您需要从兰博基尼 class 的实例而不是 class 本身调用 getIsRearWheelDrive。只能使用 class 名称调用静态变量,此处并非如此。
在此示例中,它将是
inventory.get(i).getIsRearWheelDrive();
没有看到其他相关的 类 正在播放:
while(indexPlace < inventory.size())
{
if(inventory.get(indexPlace++).getIsRearWheelDrive() == true) {
number++;
}
}