Java &引用;找不到符号“;使用throw InterruptedException时

Java &引用;找不到符号“;使用throw InterruptedException时,java,multithreading,interrupted-exception,Java,Multithreading,Interrupted Exception,我的线程同时运行,导致它们的输出混淆,所以我在第一个线程上设置了一个延迟,但是我无法让它运行,因为Java拒绝接受InterruptedException。以下是我目前的代码: class Evens extends Thread { public void run() { System.out.println(""); System.out.println("Even numbers between 0 and 30:"); Sy

我的线程同时运行,导致它们的输出混淆,所以我在第一个线程上设置了一个延迟,但是我无法让它运行,因为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();
        }       
    }
}
类Evens扩展线程
{
公开募捐
{
System.out.println(“”);
System.out.println(“0到30之间的偶数:”);
System.out.println(“”);
布尔isEven;

对于(int num=0;num在引发异常时需要
new
关键字

throw new InterruptedException("...");
但是
sleep
将抛出它自己的
InterruptedException
,因此不需要显式抛出异常

try {
    Thread.sleep (4000);
} catch (InterruptedException e) {
   ...
}

阅读:

抛出新的InterruptedException
…是正确的语法。这将消除“找不到符号”错误。但这仍然是严重错误。好吧,它对我来说很好(我知道这是一个丑陋的程序,但它是我丑陋的程序!)。