有个Java的问题,高手们帮我解决一下吧
编写一个线程类,类名为SubThread 。该线程能够在命令行显示线程的名称,然后随机休眠小于1秒的时间,最后显示线程结束信息: “finished”+线程名。
编写Application,在其中创建SubThread类的三个对象t1、t2、t3,它们的名称分别为"First"、" Second"、" Third",并启动这三个线程。
没时间陪配要下班迹拿了,先给你第芦州指一题。
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Test11 {
private static int index = 1;
private static ListInteger doLoop(ListInteger list){
for(int i=0;ilist.size();){
if(index%3==0){
list.remove(list.get(i));
index = 1;
}else{
i++;
index++;
}
}
return list;
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num = scan.nextInt();
ListInteger list = new ArrayListInteger();
for(int i=0;inum;i++){
list.add(i+1);
}
for(;;){
list = doLoop(list);
if(list.size()==1){
System.out.println(list.get(0));
break;
}
}
}
}
public class ThreeThread {
public static void main(String[] args) {
SubThread first = new SubThread("first");
SubThread second = new SubThread("second");
SubThread third = new SubThread("third");
first.start();
second.start();
third.start();
}
}
class SubThread extends Thread {
public SubThread(String name) {
super(name);
}
public void run() {
System.out.println(this.getName() + " start");
try {
sleep((long)(Math.random() * 1000));
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("finished " + this.getName());
}
}
怎么 楼上没解决掉吗