Ich bekomme einen Fehler (in den letzten 5 Zeilen), wenn ich einen Parameter in der start() -Methode übergeben. Der Fehler sagt: Methode Start() in Typ Thread ist nicht anwendbar für Argument (Int). Was ist der richtige Weg?(Java Multi threading) Wie übergibt man Parameter in Multithreading?
Dieses Programm ist zum Drucken von ungeraden/geraden Zahlen mit Multi-Threading in 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);
}
}
Normalerweise übergebe ich alle benötigten Parameter im Konstruktor und rufe dann 'start()' auf. – markspace
Sie sollten 'jo' und' yo' deklarieren, da Sie sie initialisieren möchten (bitte, setzen Sie Großbuchstaben auf Ihre Klassennamen, siehe CamelCase-Notation. – AxelH
Ändern Sie den Konstruktor von 'yo', um die ganze Zahl zu akzeptieren –