因此,我将这种掷骰子的方法做成了100次,有50%的机会掷出6。
基本思想是在1到6之间有50%的奇数和50%的偶数,因此如果滚动一个偶数,系统会打印6,否则会在1到5之间打印一个随机数。您认为这是正确的吗?

public static void printDiceRolls(Random randGenerator) {
    for (int i=0; i < 30; i++) {
        int temp;
        temp = randGenerator.nextInt(6) + 1;
        if (temp%2 == 0) {
            temp = 6;
        }
        else
            temp = randGenerator.nextInt(5) + 1;
        System.out.print(" " + temp + " ");
    }
}

最佳答案

产生一个介于1到10之间(包括两端)的随机数。如果数字是1到5,则滚动该数字,否则,滚动6。请注意,此方案中有5次机会将6(即50%)掷出,而有5次机会将1至5(即其他50%)。

Random random = new Random();
int roll = random.nextInt(10) + 1;
if (roll > 5) {
    System.out.println("You rolled a 6");
}
else {
    System.out.println("You rolled a " + roll);
}

关于java - 掷骰子有50%的几率掷骰6,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43040404/

10-10 12:40