我的Java代码存在error: ';' expected
问题。我不知道怎么解决它?
SortThread
和MergeThread
已经创建为一个类,编译得很好。
唯一的问题是
SortThread t1.join() = new SortThread(a);
SortThread t2.join() = new SortThread(b);
MergeThread m.start() = new MergeThread(t1.get(),t2.get());
这三行代码有error: ';' expected
个问题。
在这个主要内容中,它将创建两个数组a和b。 m数组将合并a& b,main将显示m。
任何提示或解决方案对我都非常有帮助。
import java.util.Random;
public class Main{
public static void main(String[] args){
Random r = new Random(System.currentTimeMillis());
int n = r.nextInt(101) + 50;
int[] a = new int[n];
for(int i = 0; i < n; i++)
a[i] = r.nextInt(100);
n = r.nextInt(101) + 50;
int[] b = new int[n];
for(int i = 0; i < n; i++)
b[i] = r.nextInt(100);
SortThread t1.join() = new SortThread(a);
SortThread t2.join() = new SortThread(b);
MergeThread m.start() = new MergeThread(t1.get(),t2.get());
System.out.println(Arrays.toString(m.get()));
}
}
答案 0 :(得分:3)
在完成初始化要调用的变量之前,无法调用方法。
SortThread t1.join() = new SortThread(a);
SortThread t2.join() = new SortThread(b);
MergeThread m.start() = new MergeThread(t1.get(),t2.get());
应该是
SortThread t1 = new SortThread(a);
t1.start(); // <-- you probably want to start before you join.
SortThread t2 = new SortThread(b);
t2.start();
t1.join();
t2.join();
MergeThread m = new MergeThread(t1.get(),t2.get());
m.start();
m.join();