0

私のプログラムでは、Die(刺繡用のサイコロ)はさまざまなフィールドを持つクラスです。それらの1つはタイプStringであり、と呼ばれhaveItます。したがって、プログラムのユーザーがフィールドに「はい」という単語を入力すると、リストにhaveItあるすべてのリストを追跡できるはずです。DiesmyInventory

どうすればよいですか?myInventory ArrayList<Die>クラスのフィールドとコンストラクターにを作成する必要がありますContollerか、それともそのクラスの特別なメソッド内に作成する必要がありますか?

私はすべてを試しましたが、何も機能しません。しかし、私はこれについて本当に新しいです。

これが私の最後の試みで、私のクラスの特別なメソッドから新しいArrayList<Die>(フィールドに「はい」がある)を作成するためのループを作成します。haveItgetMyInventoryController

public ArrayList<Die> getMyInventory(Die anyDie) {
    for (int counting = 0; counting <  
diesBigList.Count ; counting++); 
        {
        if 
(((Die)diesBigList[counting]).doIHaveIt.contains("Yes")) 

myInventory.add(diesBigList[counting]);

            return myInventory; 
        }   
}

コンパイルされません。結果は型でなければならないことを教えてくれますが、Arrayそれは...として解決されArrayListます(そして私はそれを理解していません)。

前もって感謝します。

4

1 に答える 1

0

欠落しているreturnステートメント。これが決して真実ではない場合はどうなりますか?

if (((Die)diesBigList[counting]).doIHaveIt.contains("Yes")) 

返品明細書に到達することはありません

これが答えです

public ArrayList<Die> getMyInventory(Die anyDie) {
 ArrayList<Die> myInventory = new ArrayList<Die>();
    for (int counting = 0; counting <  diesBigList.Count; counting++) {
        if (((Die)diesBigList[counting]).doIHaveIt.contains("Yes")) {
               myInventory.add(diesBigList[counting]);
        }   
    }
            return myInventory; 
 }

また、これには問題がある可能性がdiesBigList.Countあります。そのオブジェクトをどこで取得したか、またはそのメソッドがどのように見えるかはわかりませんが、コードでは、その呼び出しを正しく行っていると思います。

于 2012-07-18T23:24:00.317 に答える