0

順序付けられた文字列リストオブジェクトを作成する必要がある割り当てがあります。私は現在2つの順序付けられた文字列リストを持っており、それぞれに7つの文字列値が含まれています。リストmyListとyourListを結合リストcombinedListにマージするメソッドを作成しようとしています。

これが私がこれまでに持っているものです。

public boolean merge(OrderedStringList myList, OrderedStringList yourList){
    int index;
    String value;
    for (index = 0;index < numUsed; index++){
        value = myList.storage[index];
        combinedList.insert(value);
    }
    for (index = 0;index < numUsed; index++){
        value = yourList.storage[index];
        combinedList.insert(value);
    }

}

メインでオブジェクトcombinedListを宣言しましたが、orderedStringList.classで認識されません。

挿入関数は、文字列をアルファベット順に挿入します。

4

3 に答える 3

0

どこで正確にcombinedList宣言されていますか?おそらく、すべてのメソッドがアクセスできるように、メソッドの外で宣言する必要があります。

public class Merger {
    private OrderedStringList combinedList; // This is a field
    private int numUsed;
    public static void main(){
        new Merger().merge(new OrderedStringList(),new OrderedStringList());
    }
    public boolean merge(OrderedStringList myList, OrderedStringList yourList){
        int index;
        String value;
        for (index = 0;index < numUsed; index++){
            value = myList.storage[index];
            combinedList.insert(value);
        }
        for (index = 0;index < numUsed; index++){
            value = yourList.storage[index];
            combinedList.insert(value);
        }
        return false;
    }
}
class OrderedStringList {
    public String[] storage;
    public void insert(String value) {
        // TODO Auto-generated method stub
    }
}
于 2013-02-21T02:42:15.420 に答える
0

メイン関数内で宣言した場合combinedList、メイン関数内でのみアクセスできます。

あなたがすべきことはcombinedList、上記の関数の中に を作成し、呼び出し元の関数、つまりあなたの関数に結果を返すことmainです。

于 2013-02-21T02:44:13.190 に答える
0

私の問題を解決する方法を見つけました。各リストにある文字列の量に基づいて挿入関数を呼び出し、それらを新しい結合リストに追加しました。

public boolean merge(OrderedStringList myList, OrderedStringList yourList) {
    boolean result = false;
    int index;
    for (index = 0; index < myList.numUsed; index++) {
        Insert(myList.storage[index]);
        result = true;
    }
    for (index = 0; index < yourList.numUsed; index++) {
        Insert(yourList.storage[index]);
        result = true;
    }
    return result;
}
于 2013-02-21T03:53:42.633 に答える