2012-02-29 78 views
-2

我把系统打印出来看看问题出在哪里,2和7是在无限循环中不断重复的两个。这部分代码假设搜索列表并找到用户放入的匹配项,但每次使用搜索时,GUI都会冻结或陷入无限循环。谁能帮我解决这个问题吗?如何解决这个无限循环?

这里是我的代码有:

 if (whichOne.equals("Search")) 
    { 
     System.out.println("1"); 
     String[] results = new String [5]; 
     int count = 1; 
     list.moveCursorToRear(); 
     int last = list.cursor; 
     list.resetCursor(); 
     while(list.hasNext() || list.cursor == last) 
     { 
      int found = list.search(searchField.getText()); 
      String result = list.spaces[found].getData(); 
      System.out.println("2"); 
      if(current != found) 
      { 
       list.stepCursorBack(); 
       System.out.println("3"); 
       if(list.cursor == list.head) 
       { 
        results[count] = result; 
        System.out.println(results[count]); 
        list.spaces[current].setLink(list.spaces[found].getLink()); 
        count++; 
        System.out.println("4"); 
       } 
       else 
       { 
        results[count] = result; 
        System.out.println(results[count]); 
        list.spaces[current].setLink(list.spaces[list.cursor].getLink()); 
        count++; 
        System.out.println("5"); 
       } 
       list.getNext(); 
       System.out.println("6"); 
      } 
      else 
      { 
       //break; 
       //System.exit(0); 
       list.hasNext(); 
       System.out.println("7"); 
      } 

     } 
+0

'list'是什么样的对象? – unholysampler 2012-02-29 00:55:46

回答

1
else 
    { 
     //break; 
     //System.exit(0); 
     list.hasNext(); 
     System.out.println("7"); 
    } 

我怀疑你想list.getNext()这里,而不是hasNext()

但是,没有更多的代码 - 特别是关于list的更多信息,可能无法给出明确的答案。

+0

我只是打字出来...雅打我。 – 2012-02-29 00:56:33