java中创建线程时出错。错误发生在“MainApp”,RandomCharacterThread是错误。线程t1期待一个字符,而我给它一个int值。这是造成错误的原因。我已经添加了评论,以使社区的代码更加清晰。java中创建线程时出错
//Main class.
//program to display random numbers and characters using threads.
public class MainApp
{
public static void main(String[] args)
{
new MainApp().start();
}
public void start()
{
Thread t1 = new Thread (new RandomCharacterThread("1"));
t1.start();
}
}
//RandomCharacterThread.
//Imports.
import java.util.Random;
//=====================================================================
public class RandomCharacterThread implements Runnable
{
//Variables.
char letter;
int repeats;
Random rand = new Random();
//Constructor
//=====================================================================
public void RandomCharacterThread(char x)
{
letter = x;
repeats = rand.nextInt(999);
}
public void run()
{
try
{
for(int i = 0;i < repeats; i++)
{
System.out.println("Character: " + letter);
}
}
catch(Exception e)
{
}
}
}
它通常是一个坏主意,以抛弃异常。 –
感谢我记住这一点。 – Pendo826
在这种情况下,您不需要try/catch块。删除它,如果发生RuntimeException或Error,它将被打印。 –