當我在start()方法中傳遞參數時,出現錯誤(最後5行)。錯誤說:類型線程中的方法start()不適用於參數(int)。什麼是正確的做法?(Java多線程)如何在多線程中傳遞參數?
該程序是關於使用Java中的多線程打印奇數/偶數。
import java.util.Scanner;
class odd extends Thread
{
public void run(int y){
System.out.println("Odd numbers are:");
for (int i=0;i<=y;i++)
{
if (i%2!=0)
{
System.out.println(i);
}
}
}
}
class even extends Thread{
public void run(int x)
{
System.out.println("Even Numbers are");
for (int i=0; i<=x; i++)
{
if (i%2==0)
{
System.out.println(i);
}
}
}
}
class Star{
public static void main(String[] args)
{
System.out.println("Enter No. upto which even-odd should be printed");
Scanner var=new Scanner(System.in);
int vary= var.nextInt();
odd money=new odd();
even honey=new even();
money.start(vary);
Thread.sleep(5000);
honey.start(vary);
}
}
通常我會在構造函數中傳遞任何需要的參數,然後調用'start()'。 – markspace
你應該聲明'jo'和'yo',因爲你想初始化它們(請把大寫字母放到你的類名上,看看駝峯表示法。 – AxelH
改變'yo'的構造函數來接受整數 –