java - For 循环 & Thread.sleep

标签 java arrays sorting for-loop 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 中打印的文本。

关于java - For 循环 & Thread.sleep,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13662548/

相关文章:

java数组转换?

java - Android 在调用 FragmentTransaction Replace 方法时崩溃?

java - Java 猜颜色游戏

arrays - Yii 2,排序数组,ArrayHelper

c - 在 c90 中传递多维数组(VLA 之前的样式)

Java:将二维数组中的整数转换为字符串

javascript - 如何根据搜索关键字对字符串数组进行排序?

java - java中按字母顺序对文件内容进行排序的快速方法

java - 为什么intellij不识别java项目?

c++ - 根据其他数组对数组进行排序