循环不断溢出

时间:2016-08-11 10:47:07

标签: java math

对于我的学校项目,我正在制作一个使用概率来计算pi值的程序,我需要程序中的循环运行至少20000次,但我的程序不会超过4000.

这里是代码:

public static void main(String[] args) {
    game();
    System.out.println(pi);
}

public static void game(){
    if(total >= 4000){
    return;
    }
    randomNum = 1.1;
    generatex();
    generatey();
    distance(randomx, randomy);
    game();
    return;
}

private static void distance(double x, double y) {
    double dist = Math.sqrt((x*x)+(y*y));
    if(dist <= 1){
        ++in;
    }
        ++total;
    if(total != 0){
    pi = 4 * (in/total);
    }
}

public static double generatex(){
    random();
    randomx = randomNum;
    return randomx;
}   

public static double generatey(){
    random();
    randomy = randomNum;
    return randomy;
}

public static double random() {
    randomNum = rand.nextDouble();
    if(randomNum <= 1){
        return randomNum;
    }
    random();
    return 0d;
}

}

1 个答案:

答案 0 :(得分:3)

更改行

    if(total >= 4000){

    if(total >= 20000){