Java 为什么可以';我不能在这个循环中从另一个类调用一个方法吗?

Java 为什么可以';我不能在这个循环中从另一个类调用一个方法吗?,java,list,class,methods,Java,List,Class,Methods,我试图在Catalog类中创建一个过滤器,稍后将打印出价格高于用户输入的最低价格的“零件”。但是,我无法从Catalog类调用getNumPrice()(它在Part类中),我不知道为什么?我如何解决这个问题?我做错了什么 //The following is in the Part class public double getNumPrice(){ return this.price; } //The following is in the Catalog

我试图在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));
}
//以下内容在零件类中
公共双getNumPrice(){
退回这个价格;
}
//以下是目录类
私有双读明码(){
System.out.println(“输入最低价格('-1'表示无筛选):”;
返回.nextDouble();
}
专用空过滤器(){
字符串类型=readTypeFilter();
double minPrice=readMinPrice();
if(type==“all”&&minPrice==-1)
showParts();
else if(type==“all”&&minPrice>=0)
for(int i=0;i=minPrice)
System.out.println(i+1+“+parts.get(i));
}

您有一个
parts
集合,您正在循环中调用
part.getNumPrice()


我没有在代码中看到任何声明,但我假设
parts
是一个字段,您试图在循环中执行类似
parts.get(I).getNumPrice()
的操作。

您需要在循环中使用索引部分

for(int i=0; i<= parts.size();i++)
   if (parts.get(i).getNumPrice() >= minPrice)
for(int i=0;i=minPrice)

你说不能打电话到底是什么意思?编译器错误?“我无法调用getNumPrice”你是什么意思?是否有错误?请清楚地显示这两个类,并包括
main()
。另外,环顾四周,通读一下。特别是,一定要引用准确的错误,而不是仅仅说你得到了一个错误。似乎你的
part
变量没有定义在任何地方。或
零件
,或许多其他变量。请回答您的问题,并将代码片段替换为,我们可以编译和测试。警告:您正在使用
==
比较字符串。永远不要那样做;使用
equals
方法比较字符串。