[英]For loop & Thread.sleep
我想對用戶插入的數組進行排序。 這部分已經可以了,我遇到的麻煩是單擊排序按鈕時,它逐步在jtextarea中進行了某種排序,每行之間的時間間隔很小。
這是我的問題所在,我正在嘗試將Thread.sleep放入我的for循環中,以使其打印一行然后暫停一會兒,但這並不是在適當的時候暫停,而是在開始排序並全部打印之前立刻。
public void bubbleSort(int[] arr) {
int[] array_to_sort = arr;
int[] initial_array = arr;
int count = 1;
String result = "";
String result2 = "";
for (int l = 0; l < initial_array.length; l++)
result2 += arr[l] + " ";
for (int i = array_to_sort.length; i >= 1; i--)
for (int j = 1; j < i; j++)
if (array_to_sort[j - 1] > array_to_sort[j]) {
int aux = array_to_sort[j];
array_to_sort[j] = array_to_sort[j - 1];
array_to_sort[j - 1] = aux;
for (int l = 0; l < array_to_sort.length; l++)
result += array_to_sort[l] + " ";
Interface.jTextArea1.append(result + "\n"); // I'd like to pause after printing this line
result = "";
count++;
}
}
有人可以啟發我如何正確地進行此暫停嗎?
Interface.jTextArea1.append(result + "\\n"); // I'd like to pause after printing this line
for(int i = 0; i < Short.MAX_VALUE;i++);
我的意思是做一個空循環來模擬您的延遲。 盡管正確的解決方案是重新組織代碼,以便每隔一段時間發送要在EDT中打印的文本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.