スレッドを作成するときにJavaでエラーが発生する。エラーは "MainApp"にあり、RandomCharacterThreadはエラーです。スレッドt1はcharを期待していますが、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がスローされた場合は、それが印刷されます。 –