gpt4 book ai didi

JAVA 判断多个数字是否相同?

转载 作者:行者123 更新时间:2023-11-30 07:51:32 24 4
gpt4 key购买 nike

我对 Java 还很陌生,所以我只是尝试一些东西..

我想弄清楚如何检查需要掷多少次才能得到 6 个六。 (快艇)

我尝试过使用 &&,但它不允许我检查所有 6 个骰子,它只会在碰到第一个 6'er 时停止。

我尝试过类似的方法,但没有成功..

while (die.getDie1() != 6 && die.getDie2() != 6 && die.getDie3() != 6 && die.getDie4() != 6
&& die.getDie5() != 6 && die.getDie6() != 6) {

die.roll(6);

}

System.out.println("It took " + die.getCount() + " rolls to get a yahtzee!");

谁能帮忙解决一下吗?

最佳答案

在这种情况下,您需要使用逻辑(java markdown是||)。因为如果使用 and,则仅当所有数字同时不等于 6 时,条件才为 true。如果您掷出 1 个 6,循环就会中断,因为不再所有骰子都与 6 不同。您需要消除任何掷骰同时与 6 不同的可能性。

这就是 or 的用武之地。您可以在第一个骰子上掷 6,但因为另一个条件是“or die2!=6”,所以它的计算结果为 true,因为显然 die2 不等于到六。仅当所有骰子都等于 6 时,循环才会中断,因为没有骰子与 6 不同。

基本上,while 循环像这样遍历树,如果它只得到一个"is",它就会继续,因为它需要得到所有“否”:是 die1=!6 吗?不。 die2!=6 是吗?不,是 die3=!6 吗?是的。红旗。好吧,那我再循环一次。如果您使用 and 来代替,循环会变得更加烦人,并且会反向寻找 yes 来继续循环循环,并在第一个 no 处中断:是 die1=!6 吗?是的。 die2!=6 是吗?不,好的,再见!但是等等,如果 die3!=6... 会怎样?不,我不在乎。

希望您现在能看到自己逻辑中的缺陷。

关于JAVA 判断多个数字是否相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33288333/

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