Prime Number Finder计算错误

时间:2014-01-12 02:24:10

标签: java primes

我正在尝试用Java编写一个素数查找器,我知道那里已经有很多了。我运行时遇到计算错误,没有“快速修复”。 这是错误:"Exception in thread "main" java.lang.ArithmeticException: / by zero at PrimeNumber.main(PrimeNumber.java:12)"

以下是代码:

public class PrimeNumber {
    public static void main(String rane[]){

        int f1 = 0;
        int f2 = 0;
        int m = 0;
        int p = 0;

        loop:
        for (p = f1 % f2; p > 0; f1 += 1){
            if (f1 < 50){
                //Do nothing
            }else{
                f2 += 1;
                if (f2 > 50){
                    System.out.println("Done!");
                    break;
                }
            }
            if (p == m){
                f1 += 1;
                f2 += 2;
                m = 0;
                break loop;
            }   
        }
    }
}

如果我可以缩短此代码或使其更好,请告诉我。 谢谢!

1 个答案:

答案 0 :(得分:2)

for循环的第一次迭代计算

p = f1 % f2

但是f2是0.并且为了计算模数,进行除法。为什么不从有意义的价值观开始呢?