我有一个程序用于使用递归的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();
}
}
请记住,这段代码尚未经过全面测试,这是我第一次尝试与外人交谈,(自学成才),所以我希望我所说的是有道理的。