在JAVA中显示每个字符之间的延迟

时间:2015-02-26 11:03:10

标签: java

我想让我的文字看起来像是打字的。
就像我想打印you ok那样它必须打印出来 y (delay) o (delay) u (delay) (delay) o (delay) k ...
我的这段代码很完美,但总是在新行中打印

        String text = "you ok...:)";
        for(int i=1; i<=text.length();i++){

        System.out.print(text.substring(0, i));
        try {
            Thread.sleep(100); 
            } catch (Exception e) {
            e.printStackTrace();
            }
        }

2 个答案:

答案 0 :(得分:4)

第一个问题是从1开始,它应该从0开始。所以charAt(0)是你的第一个角色。

其次,您应该只使用text.charAt(i)而不是整个子字符串打印字符。

希望这有帮助:

   String text = "you ok...:)";
    for(int i=0; i<text.length();i++){

    System.out.print(text.charAt(i));
    try {
        Thread.sleep(100); 
        } catch (Exception e) {
        e.printStackTrace();
        }
    }

答案 1 :(得分:0)

以下是您想要的工作示例....

public class Stackoverflow {

public static void main(String[] args) 
{
   String text = "you ok...:)";
   char[] charArr = text.toCharArray();

    for(int i=0; i<=charArr.length-1;i++)
    {

        System.out.print(charArr[i]);
        try 
        {
            Thread.sleep(1000); 
        } catch (Exception e) 
        {
            e.printStackTrace();
        }
    }

}
}