如何在Java中的同一行上同时打印字符串War Games风格的一个字母

Kie*_*boz 3 java printing string

在网上发现的那一刻使用此代码

 String welcome = "Would you like to play a game?";
 for (int i = 0; i < welcome.length(); i++) {
      System.out.println(welcome.charAt(i));

    }
Run Code Online (Sandbox Code Playgroud)

很基本的东西,但是它真的可以很快地逐行打印出来,我该如何添加一个小暂停,并在上一个字符之后立即打印?最后,它只是说您想玩游戏吗?

我正在使用CMD和Sublime文本。

谢谢!

Nat*_*hes 5

使用System.out.print代替println。使用Thread.sleep暂停。循环直到打印出整个字符串。

String welcome = "Would you like to play a game?";
for (int i = 0; i < welcome.length(); i++) {
    System.out.print(welcome.charAt(i));
    Thread.sleep(1000L); // in milliseconds
}
System.out.println(); // start a new line
Run Code Online (Sandbox Code Playgroud)

Thread.sleep引发InterruptedException。如果此代码进入您的main方法,则处理它的最简单方法(假设您不希望通过中断它来取消线程)是添加throws InterruptedException到main方法声明中(不会引发异常,您只是保持编译器高兴)。