-2

我是Java新手,所以请温柔...

考虑以下内容ShoppingList Class

public class ShoppingList {
...
    public ItemPrices[] getSortedPrices(){
        //do sorting stuff here etc
        return ret.toArray(new ItemPrices[0]);
    }
}

现在我有另一个类叫做Hello

public class Hello {
...
    private Groceries createGroceries() {
    ...
         pricearray[] =  ShoppingList.ItemPrices[] //????
    ...
    }
}

我想将我创建的数组 pricearray 分配为等于方法中返回的 ItemPrices 数组。

但是我没有得到我想要的,这样做的正确方法是什么?

4

2 回答 2

2

除非该方法getSortedPrices是静态方法,否则需要从ShoppingList类的实例中调用它,因此应按如下方式创建实例

public class Hello {
...
    private Groceries createGroceries() {
    ...
        ShoppingList sList = new ShoppingList();
        PriceList [] pricearray =  sList.getSortedPrices() //you call a method by its name, not return type.
    ...
    }
}

另外,我不明白如何

(ItemPrices[] 是双精度的)。

它应该是一个双精度数组,还是一个类的实例数组ItemPrices?如果它应该是一个双打数组,你需要这样做:

public class ShoppingList {
...
    public double[] getSortedPrices(){
        //do sorting stuff here etc
        return new double[n] // n is the length of the array
    }
}

和线

PriceList [] pricearray = sList.getSortedPrices()

应该

double [] pricearray = sList.getSortedPrices()

于 2012-05-21T20:10:20.960 回答
1

在不关注其他问题的情况下,您必须做类似的事情

ShoppingList sl = new ShoppingList();
ItemPrices[] pricearray =  sl.getSortedPrices();

但这需要您了解类型、构造函数、数组、如何调用方法以及许多其他事情!

于 2012-05-21T20:04:17.193 回答