这种用java多线程怎么做呀?

输入10个很大的整数(超过12位的整数),判断是不是素数。请采用多线程的编程方式实现。

1、输入10个大数

2、为每个大数启动一个线程实现素数判断

参考下这个 https://www.cnblogs.com/java1024/p/11950129.html

import java.util.Scanner;

public class SuShu {

	public static void main(String[] args) {

		Scanner in = new Scanner(System.in);
		long a[] = new long[10];
		//输入10个数
		for(int i = 0;i<10;i++) {
			a[i] = in.nextLong();
		}
		//启动10个线程
		for(int i = 0;i<10;i++) {
			new ArrSort(a[i]).start();
		}
	}

}

class ArrSort extends Thread {
	long num;

	public ArrSort(long num) {
		this.num = num;
	}

	@Override
	public void run() {
		long i;
		int flag = 0;
		// 判断num是不是素数
		for (i = 2; i < num; i++) {
			if (num % i == 0) {
				flag = 1;
				break;
			}
		}
		// 是素数
		if (flag == 0) {
			// 输出素数
			System.out.println(num);
		}
	}
}

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y