在JAVA中显示每个字符之间有延迟的字符
我想让我的文本看起来像是被键入的。。 就像我想打印你一样好吧,那么它必须像 y延迟o延迟u延迟o延迟k。。。 我的这段代码工作得很好,但它总是打印在新的行中在JAVA中显示每个字符之间有延迟的字符,java,Java,我想让我的文本看起来像是被键入的。。 就像我想打印你一样好吧,那么它必须像 y延迟o延迟u延迟o延迟k。。。 我的这段代码工作得很好,但它总是打印在新的行中 String text = "you ok...:)"; for(int i=1; i<=text.length();i++){ System.out.print(text.substring(0, i)); try { Thread.sleep
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();
}
}
第一个问题是从1开始i,它应该从0开始。所以charAt0是你的第一个角色 其次,您应该只使用text.charAti打印字符,而不是整个子字符串 希望这有助于:
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开始i,它应该从0开始。所以charAt0是你的第一个角色 其次,您应该只使用text.charAti打印字符,而不是整个子字符串 希望这有助于:
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();
}
}
这是您想要的工作示例
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();
}
}
}
}
这是您想要的工作示例
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();
}
}
}
}
你是用eclipse来测试它吗?你意识到你实际上是在打印y,然后是yo,然后是你等等-所以你到最后会打印y 10次…是的…bt我想打印在同一行,每个字符只显示一次…你是用eclipse来测试它吗?你意识到你实际上是在打印y,然后是yo,然后你等等-所以你会在最后打印y 10次…是的…bt我想在同一行中打印它,每个字符只显示一次…不,不是…它只是一次打印整行…但我想它只是在屏幕上打印…@UmerSajjad嗯,不太清楚你的意思,难道你不想打印整条字符串吗?如果你想让它更人性化,只需将睡眠时间增加到500不,它不是……它只是一次打印整行……但我希望它只是在屏幕上打印出来……@UmerSajjad嗯,不太清楚你的意思,你不想打印整行吗?如果你想让它更人性化,只需使用@nafas中所示的charAt将睡眠时间增加到500分钟,答案比使用toCharArray要有效得多。此外,如@nafas'答案所示,使用charAt比使用toCharArray更有效。我也