gpt4 book ai didi

java - 创建一个自定义方法来在 Java 中缓慢打印文本

转载 作者:行者123 更新时间:2023-12-02 09:29:41 24 4
gpt4 key购买 nike

我正在尝试在 Java 中创建一个方法,该方法将接受一个字符串并缓慢打印出来。我在这里找到了执行缓慢打印的代码( Slowly print text in Java ),并且一直在尝试用它创建一个方法,但我对 Java 仍然很陌生。这是我的代码

public class propago
{
public static void main(String[] args)
{
String strMessage;
strMessage = "Testing 1 2 3";
slowPrint(strMessage);
}//end main(String[])

public static void slowPrint(String[] args) throws InterruptedException
{
char[] chars = strMessage.toCharArrray();

for (int i = 0; i < chars.length; i++)
{
System.out.print(chars[i]);
Thread.sleep(100);
}
}//end slowPrint(String[])
}//end propago

答案可能很明显,但我就是不明白。

当尝试编译代码时,出现以下错误:

propago.java:12: error: incompatible types: String cannot be converted to String[]

slowPrint(strMessage);
^
propago.java:17: error: cannot find symbol
char[] chars = strMessage.toCharArrray();
^
symbol: variable strMessage
location: class propago
Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output
2 errors

应用建议的更改(希望正确)后,不兼容类型错误已解决,但我仍然收到以下错误

propago.java:10: error: cannot find symbol
char[] chars = strMessage.toCharArray();
^
symbol: variable strMessage
location: class propago
1 error

这是我当前的代码,进行了更改

public class propago
{
public static void main(String[] args)
{
String strMessage;
strMessage = "Testing 1 2 3";
slowPrint(strMessage);
}//end main(String[])

public static void slowPrint(String args)
{
char[] chars = strMessage.toCharArray();

for (int i = 0; i < chars.length; i++)
{
System.out.print(chars[i]);
try {
Thread.sleep(100);
} catch (InterruptedException e){
//Should not happen
}
}
}//end slowPrint(String[])
}//end propago

最佳答案

你的问题是slowPrint它需要一个String数组并且可能抛出一个未经检查的异常,即InterruptedException

要解决String数组的问题,只需更改方法以获取String,而不是String[]

在您的代码中,没有理由相信有人会中断您的代码(仅发生在多线程代码中),因此您可以通过在发生异常时捕获异常来忽略它:

try {
Thread.sleep(100);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
return;
}

然后从 slowPrint 的声明中删除 throws InterruptedException

关于java - 创建一个自定义方法来在 Java 中缓慢打印文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58089090/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com