合并两个字符串对象。 java的

时间:2013-02-21 02:38:20

标签: java string list

我的作业要求我制作有序的字符串列表对象。 我目前有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);
    }

}

我在main中声明了对象combinedList,它在我的orderedStringList.class中没有识别它

insert函数将按字母顺序插入字符串。

3 个答案:

答案 0 :(得分: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
    }
}

答案 1 :(得分:0)

如果您在main函数中声明了combinedList,则只能在main函数内部访问它。

你应该做的是在上面的函数中创建combinedList并将结果返回给调用函数,即你的main函数。

答案 2 :(得分:0)

了解如何解决我的问题。我刚刚根据每个列表中的字符串数量调用了insert函数,并将它们添加到新的组合列表中。

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;
}