1

スレッドが同時に実行されていたため、それらの出力が混同されていたため、最初のスレッドに遅延を設定しましたが、Java が InterruptedException の受け入れを拒否しているため、最初のスレッドを実行できませんでした。以下はこれまでの私のコードです:

class Evens extends Thread
{
    public void run()
    {
        System.out.println("");
        System.out.println("Even numbers between 0 and 30:");
        System.out.println("");
        boolean isEven;
        for (int num = 0; num <=30; num++)  //This for loop tests for evenness and then prints it.
        {
            if(num % 2 == 0)
            {
                    isEven = true;
        }
            else
            {
                isEven = false;
        }

            if(isEven == true)
            {
                System.out.print(num + ", ");
            }
            else
            {
            }
        }
    }
}

class Odds extends Thread
{
    public void run()
    {
        System.out.println("");
        System.out.println("Odd numbers between 0 and 30:");
        System.out.println("");
        boolean isOdd;
        for (int num = 0; num < 30; num++)  //This for loop tests for oddness and then prints it.
        {
            if(num % 2 != 0)
            {
                isOdd = true;
            }
            else
            {
                isOdd = false;
            }

            if(isOdd == true)
            {
                System.out.print(num + ", ");
            }
            else
            {
            }
        }
    }
}    

class Printer
{    
    public static void main(String args[])
    {
        Evens ev = new Evens();
        Odds od = new Odds();
        throw InterruptedException("Another string is running!");
        {
            ev.start();
            Thread.sleep (4000);
            od.start();
        }       
    }
}
4

1 に答える 1