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,它將被打印。 –