gpt4 book ai didi

java - 在随机方法中测试特定数字时,我得到的结果好坏参半

转载 作者:行者123 更新时间:2023-12-01 17:54:19 25 4
gpt4 key购买 nike

在测试这两种方法时,我得到的结果好坏参半。有时,在测试时,本应为假的值却为真,反之亦然。我尝试在 Roll 方法中返回一个数字,并且在测试时效果很好。

 public class Game {

public int Roll() {
return ran.nextInt(10) + 1;
}

public boolean checkRoll() {
boolean check;
if(Roll() == 1 || Roll() == 5) {
check = true;
}
else {
check = false;
}
return check;
}

public static void main(String [] args ) {
Game g = new Game();
System.out.println(g.Roll());
System.out.println(g.checkRoll());
}

最佳答案

当你打电话时

 System.out.println(g.Roll());
System.out.println(g.checkRoll());

你实际上运行了两次滚动函数。 (如果你算上在 IF/OR 中调用它,则为 3 次)所以你打印的数字与你稍后在 g.checkroll 中测试的数字不同(因为它通过调用你的 Roll 来滚动一个新数字),所以“true”或“false”打印与之前的号码无关。要么将 checkRoll 函数作为子函数放入 Roll 函数中,要么使用一些全局变量在测试之前存储 Roll,而不是重新滚动它。

关于java - 在随机方法中测试特定数字时,我得到的结果好坏参半,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46557219/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com