我正在尝试在Catalog类中创建一个过滤器,稍后将打印出价格高于用户输入的最低价格的“零件”。但是,我无法从Catalog类调用getNumPrice()(在Part类中),我不确定为什么吗?我该如何解决这个问题,我在做什么错了?
//The following is in the Part class
public double getNumPrice(){
return this.price;
}
//The following is in the Catalogue class
private double readMinPrice(){
System.out.println("Enter minimum price ('-1' for no filtering): ");
return In.nextDouble();
}
private void filter(){
String type =readTypeFilter();
double minPrice = readMinPrice();
if ( type== "all" && minPrice==-1)
showParts();
else if (type=="all" && minPrice >= 0)
for(int i=0; i<= parts.size();i++)
if (part.getNumPrice() >= minPrice)
System.out.println( i+1 + "." + parts.get(i));
}
答案 0 :(得分:0)
您有一个parts
集合,并且正在循环中调用part.getNumPrice()
。
我没有在您的代码中声明任何一个,但是我假设parts
是一个字段,并且您正在尝试在循环中执行类似parts.get(i).getNumPrice()
的操作。
答案 1 :(得分:0)
您需要在循环中使用索引部分。
for(int i=0; i<= parts.size();i++)
if (parts.get(i).getNumPrice() >= minPrice)