📄 newprimefinder.java
字号:
public class NewPrimeFinder implements Runnable {
public long target;
public long prime;
public boolean finished = false;
private Thread runner;
NewPrimeFinder(long inTarget) throws NegativeNumberException {
if (inTarget < 0) {
NegativeNumberException nne = new NegativeNumberException(
"Negative numbers not allowed: " + inTarget);
throw nne;
}
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;
}
}
class NegativeNumberException extends Exception {
NegativeNumberException() {
super();
}
NegativeNumberException(String message) {
super(message);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -