Я вставил системные распечатки, чтобы увидеть, где проблема, и 2 и 7 были теми, которые продолжали повторяться в бесконечном цикле.Предполагается, что эта часть кода выполняет поиск в списке и находит совпадение, которое вводит пользователь, но каждый раз, когда я использую поиск, графический интерфейс останавливается или застревает в бесконечном цикле.Может кто-нибудь помочь мне исправить это?
Вот код, который у меня есть:
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");
}
}