Java逐字符打印

Java逐字符打印,java,Java,所以我使用了一个名为typePhrase的小函数,它允许我给它任何字符串,它会在控制台中逐字打印 public static String typePhrase(String phrase) { for(int i = 0; i < phrase.length(); i++) { long start = System.currentTimeMillis(); while (System.currentTimeMillis() - start <

所以我使用了一个名为typePhrase的小函数,它允许我给它任何字符串,它会在控制台中逐字打印

public static String typePhrase(String phrase) {
    for(int i = 0; i < phrase.length(); i++) {
        long start = System.currentTimeMillis();
        while (System.currentTimeMillis() - start < 50) {

        }
        System.out.print(phrase.charAt(i));
    }
    return " ";
}
公共静态字符串类型短语(字符串短语){
for(int i=0;i
我想知道是否有一种方法可以实现这样的函数,但是一次打印很多字母,例如,每50毫秒它会打印出7个字母。我现在使用的代码,每50毫秒打印一个字母

变化

for(int i = 0; i < phrase.length(); i++) {

改变


只要检查长度并确保不超过数组索引,即不会导致IOBEException,就可以打印任意数量的字符。请查看
Thread.sleep(50)
,而不是while(=忙循环)。并在任务管理器中比较CPU负载。J) @ha9u63ar我想你的意思是IOException而不是iobeexception,因为我在互联网上找不到类似的东西。@GoXr3Plus我相信ha9u63ar指的是
索引自动边界异常
@yturner你说得对,先生!只要检查长度并确保不超过数组索引,即不会导致IOBEException,就可以打印任意数量的字符。请查看
Thread.sleep(50)
,而不是while(=忙循环)。并在任务管理器中比较CPU负载。J) @ha9u63ar我想你的意思是IOException而不是iobeexception,因为我在互联网上找不到类似的东西。@GoXr3Plus我相信ha9u63ar指的是
索引自动边界异常
@yturner你说得对,先生!就像ha9u63ar说的,这能阻止IOBException吗?或者我还需要尝试/捕获吗?@R.Duggan如果我跳出数组长度,循环将消失,因此它将在没有尝试捕获的情况下工作。但是在这些情况下使用try-catch有助于防止出现错误。@R.Duggan这里没有IOBException,这是由循环保护和
Math.min
处理的。正如ha9u63ar所说,这能阻止IOBException吗?或者我还需要尝试/捕获吗?@R.Duggan如果我跳出数组长度,循环将消失,因此它将在没有尝试捕获的情况下工作。但是在这些情况下使用try-catch有助于防止出现问题。@R.Duggan这里没有IOBEException,它由循环保护和
Math.min
处理。
for(int i = 0; i < phrase.length(); i += 7) {
phrase.charAt(i)
phrase.substring(i, Math.min(i + 7, phrase.length())