我想让我的文字看起来像是打字的。
就像我想打印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();
}
}
答案 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();
}
}
}
}