打印值有问题

时间:2010-11-30 03:25:50

标签: java

与上一期相似,我无法在屏幕上打印值。我测试了主标记循环,它确实生成了正确的数字但是打印语句没有打印值,所以我无法验证代码。代码附在下面。很少有知名人士指导我使用BigInteger,但我的问题很少,所以我也会研究它。

提前感谢您的所有帮助和帮助。

package javaapplication1;

import java.util.Random;
import java.math.*;

public class DH {

    public static void main(String[] arg) {

        int q;
        int z = 10000;
        Random generator = new Random(0);
        q = generator.nextInt(50000);

        double sk1 = generator.nextDouble();
        double sk2 = generator.nextDouble();

        for (int p = generator.nextInt(z); p < 50000; p++) {
            int j;
            for (j = 2; j < p; j++) {
                int n = p % j;
                if (n == 0) {
                    break;
                }
            }

            if (p == j) {
                double a = Math.pow(q, sk1);
                double pk1 = a % p;

                double b = Math.pow(q, sk2);
                double pk2 = b % p;

                if (pk1 == pk2) {
                    System.out.println("true");
                    System.out.println(p);
                    System.out.println(q);
                    System.out.println(sk1);
                    System.out.println(sk2);
                    System.out.println(pk1);
                    System.out.println(pk2);
                    System.out.print("  " + i);
                }
            }
        }

    }
}

1 个答案:

答案 0 :(得分:0)

由于sk1和sk2具有不同的值(因为它们是随机的),所以pk1和pk2也具有不同的值。只有当你可以发生输出的情况是它们相等时(这几乎是不可能的)。顺便说一下,最后一个输出语句中的“i”变量是什么?