simpleprimenumbergenerator.java

来自「BOOK:Beginning Algorithms Code Example」· Java 代码 · 共 42 行

JAVA
42
字号
package com.wrox.algorithms.hashing;/** * A deterministic {@link PrimeNumberGenerator} that uses successive division to test for primality. * */public final class SimplePrimeNumberGenerator implements PrimeNumberGenerator {    /** The single instance of the class. */    public static final SimplePrimeNumberGenerator INSTANCE = new SimplePrimeNumberGenerator();    /**     * Constructor makred private to prevent instantiation.     */    private SimplePrimeNumberGenerator() {    }    public int generate(int candidate) {        int prime = candidate;        while (!isPrime(prime)) {            ++prime;        }        return prime;    }    /**     * Determines if a number is prime by checking the remainder after division.     *     * @param candidate The candidate prime.     * @return <code>true</code> if the candidate is prime; otherwise <code>false</code>.     */    private boolean isPrime(int candidate) {        for (int i = candidate / 2; i >= 2; --i) {            if (candidate % i == 0) {                return false;            }        }        return true;    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?