2013-02-21 81 views
0

我有一个任务,需要我做有序的字符串列表对象。 我目前有2个有序的字符串列表,每个字符串中有7个字符串值。 即时通讯尝试创建一个方法,将list myList和yourList合并成组合列表combinedList。合并字符串的两个对象。 java

这是我到目前为止。

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

插入功能将插入字符串按字母顺序。

+0

尝试将它作为您的orderedStringList.class的参数传递。 – 2013-02-21 02:41:00

+2

你是说你在一个方法中声明一个变量,并试图在另一个方法中访问它?如果是这样,那是不可能的,因为这些范围不相交。 – 2013-02-21 02:42:33

回答

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

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

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

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

您可以将您的答案标记为已接受,以显示问题已解决http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – n00begon 2013-02-26 02:41:53