package com.java21days; public class PrimeFinder implements Runnable { public long target; public long prime; public boolean finished = false; private Thread runner; PrimeFinder(long inTarget) { target = inTarget; if (runner == null) { runner = new Thread(this); runner.start(); } } public void run() { long numPrimes = 0; long candidate = 2; while (numPrimes < target) { if (isPrime(candidate)) { numPrimes++; prime = candidate; } candidate++; } finished = true; } boolean isPrime(long checkNumber) { double root = Math.sqrt(checkNumber); for (int i = 2; i <= root; i++) { if (checkNumber % i == 0) return false; } return true; } }
时间: 2024-02-14 16:35:53 浏览: 104
implements Runnable
这段代码是一个实现了 Runnable 接口的类 PrimeFinder,它用于查找一个指定数量的质数。在构造方法中,传入一个 long 类型的参数用于指定要查找的质数的数量。然后在构造方法中创建一个新的线程并启动它,在该线程的 run() 方法中查找质数。isPrime() 方法用于判断一个数是否为质数,如果是,则将其存储到 prime 变量中,并将其数量 numPrimes 加 1。该类还有一个 boolean 类型的 finished 变量,用于表示线程是否完成了任务。
阅读全文