繁体   English   中英

对于循环和Thread.sleep

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM