-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 []はdoubleです)。

それはdoubleの配列、またはクラスのインスタンスの配列であると想定されていますItemPricesか?doubleの配列であると想定される場合は、次のようにする必要があります。

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 に答える