public class Test121
{
public static void main(String[] args)
{
new Thread1().start();
new Thread2().start();//new Thread2()无法解析
}}
class Thread1 extends Thread
{
public void run()
{ int n1 = 1;
int n2 = 1000;
int count = 0;
System.out.println(n1 + "-" + n2+"之间的素数:");
lab:
for(int i =n1;i<= n2;i++){
int n = (int)Math.sqrt(i);
for(int k=2;k<n;k++)
if(i%k==0)
continue lab;
System.out.print(i+"");
count ++;
if(count% 1==0)
System.out.println();
}
}
class Thread2 extends Thread
{
public void run()
{ System.out.println("哈哈");
}
}为什么new Thread2()会无法解析?

解决方案 »

  1.   

    你的Thread2写成了Thread1的内部类
    public class Test121 {
    public static void main(String[] args) {
    new Thread1().start();
    new Thread2().start();// new Thread2()无法解析
    }}class Thread1 extends Thread {
    public void run() {
    int n1 = 1;
    int n2 = 1000;
    int count = 0;
    System.out.println(n1 + "-" + n2 + "之间的素数:");
    lab: for (int i = n1; i <= n2; i++) {
    int n = (int) Math.sqrt(i);
    for (int k = 2; k < n; k++)
    if (i % k == 0)
    continue lab;
    System.out.print(i + "");
    count++;
    if (count % 1 == 0)
    System.out.println();
    }
    }
    }class Thread2 extends Thread {
    public void run() {
    System.out.println("哈哈");
    }
    }
      

  2.   

    你Class Thread1 少了个括号。
      

  3.   

    你把Thread2写到Thread1里面了
    new Thread1().new Thread2().start();
    或者把Thread2拿到Thread1外面
      

  4.   

    Thread1少了个花括号 弄得Thread2变成了Thread1的内部类了 以后写花括号的时候可以考虑先把一对花括号写好 再往里面写东西 不要先写一半 然后写完内容再写另一半 这样很容易缺失花括号的