将 ArrayList 迭代到 return 个值
Iterating an ArrayList to return a value
我无法看到我的工作错误:我正在创建一个迭代器(在我的 class LamborghiniCarLot 中),它将给出我的(ArrayList 库存;)中的后轮车辆数量-驾驶。 Lamborghini class 有一个名为 getIsRearWheelDrive() 的方法。但是尝试调用它时,我找不到方法。 "inventory" 是保存数组列表的字段变量。这是我的代码:
public int howManyAreRearWheelDrive()
{
int numberRearWheel = 0;
Iterator<Lamborghini> it = inventory.iterator();
Lamborghini inv = null;
while(it.hasNext())
{
inv = it.next();
if(inv != null)
{
if(it.getIsRearWheelDrive() == true)
{
numberRearWheel ++;
}
}
}
return numberRearWheel;
}
if(it.getIsRearWheelDrive() == true)
应该是
if(inv.getIsRearWheelDrive() == true)
您需要使用 inv.getIsRearWheelDrive()
而不是 it.getIsRearWheelDrive()
,因为您的兰博基尼 class 有此方法。 it
是您的迭代器,迭代器没有 getIsRearWhileDrive()
方法。
我会使用 for 循环
for(Lamborghini inv: inventory) {
if(inv.getIsRearWheelDrive()) numberRearWheel++;
}
或流
public int howManyAreRearWheelDrive() {
return (int)inventory.stream().filter(inv -> inv.getIsRearWheelDrive()).count();
}
我无法看到我的工作错误:我正在创建一个迭代器(在我的 class LamborghiniCarLot 中),它将给出我的(ArrayList 库存;)中的后轮车辆数量-驾驶。 Lamborghini class 有一个名为 getIsRearWheelDrive() 的方法。但是尝试调用它时,我找不到方法。 "inventory" 是保存数组列表的字段变量。这是我的代码:
public int howManyAreRearWheelDrive()
{
int numberRearWheel = 0;
Iterator<Lamborghini> it = inventory.iterator();
Lamborghini inv = null;
while(it.hasNext())
{
inv = it.next();
if(inv != null)
{
if(it.getIsRearWheelDrive() == true)
{
numberRearWheel ++;
}
}
}
return numberRearWheel;
}
if(it.getIsRearWheelDrive() == true)
应该是
if(inv.getIsRearWheelDrive() == true)
您需要使用 inv.getIsRearWheelDrive()
而不是 it.getIsRearWheelDrive()
,因为您的兰博基尼 class 有此方法。 it
是您的迭代器,迭代器没有 getIsRearWhileDrive()
方法。
我会使用 for 循环
for(Lamborghini inv: inventory) {
if(inv.getIsRearWheelDrive()) numberRearWheel++;
}
或流
public int howManyAreRearWheelDrive() {
return (int)inventory.stream().filter(inv -> inv.getIsRearWheelDrive()).count();
}