我在下面有以下代码,它会创建从1到100的50个唯一随机数,并将其添加到ArrayList
。
现在我需要一个Thread
(在一个单独的类中),它检查50个唯一的随机数,如果它们是素数(只能由它们自己和1除)。
如果列表中的数字不是素数,则必须从列表中删除它。
不幸的是我没有使用Threads的经验,有人可以帮助我吗?
import java.util.Random;
import java.util.ArrayList;
class RandomPrim {
public static void main(String[] args) {
Random nr = new Random();
int number;
ArrayList<Integer> liste = new ArrayList<Integer>();
// get 50 random unique numbers between 1 and 100
for (int counter = 1; counter <= 50; ) {
number = 1+nr.nextInt(100);
if(!(liste.contains(number))) {
liste.add(number);
counter++;
}
}
System.out.println("50 random unique numbers between 1 and 100: ");
for (int ausgabe : liste) {
System.out.print(ausgabe + ", ");
}
}
}
答案 0 :(得分:4)
可以像这样实现单独类中的线程:
public class MyClass implements Runnable {
private List<Integer> myList;
public MyClass(List<Integer> myList) {
this.myList = myList; //Constructor for the class
}
@Override
public void run() {
//your code here
}
}
你可以像这样启动线程:
List<Integer> myList = new ArrayList<>(); //Your list you want to check
MyClass myClass = new MyClass(myList);
new Thread(myClass).start();