Java 短暂延迟

Java short delay

我一直在尝试创建一种方法来重新创建口袋妖怪的 "Rolling text",其中一次出现一个字母。问题是能够创建一个足够短的计时器以使其合理。

这是我试过的:

public static void roll(String text) {
    int i = 0;
    while(i < text.length()) {
        try {
            Thread.sleep(200);                 //1000 milliseconds is one second.
        } catch(InterruptedException ex) {
            Thread.currentThread().interrupt();
        }
    System.out.print(text.charAt(i));
    i++;
    }
}

如果我将 Thread.sleep 中的值设置为 250 以上的任何值,这将正常工作。问题是,如果我将秒数设置为低于 250,那么它将等待整个时间长度(如果我告诉它等待 100 毫秒 100 次,它会等待 10 秒)在输出任何东西之前。

我不确定这是计时器类型本身的问题还是这里有其他问题。

您可以使用System.out.flush();强制写出缓冲区。