0

我有一个程序用于使用递归的 RNG 解决捆绑的掷骰子问题,并且可能导致所讨论的变量超过正常整数变量的最大允许值。

这会导致错误吗?它会导致我的程序崩溃吗?

这是代码:

//这是有问题的方法。每次调用它时,它都会将每个滚动的先前//结果乘以 100,并使用 RNG 添加 20 面骰子的结果

public void reRoll(){
    for(int i = 0; i < playerlist.size(); i++){
        playerlist.get(i).initroll = (playerlist.get(i).initroll*100) + Dice.d20();
    }
}

//这是对该方法的递归调用。如果它接收到太多的关系,例如当它//被使用数百万次时,它将导致整数值扩展超出其初始//边界,从而可能导致错误

public void resolveTies(){
    while(checkTies() == true){
        reset();
        reRoll();
        compareGroup();
    }
}

请记住,此代码尚未经过全面测试,这是我第一次尝试与外人交谈(自学),所以我希望我所说的有道理。

4

0 回答 0