私は問題がどこにあるかを見るためにシステムのプリントアウトを行い、2と7は無限ループで繰り返された2つです。コードのこの部分は、リストを検索してユーザーが入力した一致を見つけると仮定していますが、検索を使用するたびにGUIがフリーズしたり、無限ループに陥ったりします。誰でもこの問題を解決する手助けができますか?私はあなたがここにlist.getNext()
を望んでいた、そしてないhasNext()
疑いこの無限ループを修正するにはどうすればよいですか?
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");
}
}
'list'はどのようなオブジェクトですか? – unholysampler