gpt4 book ai didi

java - 快艇三样

转载 作者:行者123 更新时间:2023-11-30 04:36:57 25 4
gpt4 key购买 nike

我正在编写一个名为 isThreeOfAKind() 的方法来分析 5 个整数的值。该方法应该返回一个 boolean 值。我不知道如何将它放入代码中,以便它找出 5 个整数中的任何 3 个是否彼此相等。

该程序的一些背景是它在开始时生成 5 个新的随机数,并分配给整数。例如我有

public YahtzeeRoll(){
int input;
for (int i=5;i <= 5; i++){
input = rangen.nextInt(5) + 1;
die1 = input;
input = rangen.nextInt(5) + 1;
die2 = input;
input = rangen.nextInt(5) + 1;
die3 = input;
input = rangen.nextInt(5) + 1;
die4 = input;
input = rangen.nextInt(5) + 1;
die5 = input;
}

我知道 for 语句很奇怪,但它只是让它循环一次(我认为),这给了我 5 个整数 die1、die2、die3、die4 和 die5,它们的随机值在 1 到 5 之间。

我的 isThreeOfAKind() 应该以某种方式找出这 5 个整数中的三个是否彼此相等。到目前为止我所拥有的就是

public Boolean isThreeOfAKind(){

}

我认为也许会使用 if 语句,如果它满足 if 语句的要求,它将返回 true,然后 else 语句将返回 false,但我不知道如何去比较 5 个整数,然后编写它的代码。如有任何帮助,我们将不胜感激!

最佳答案

如果您用 5 个骰子组成一个String,例如 "25326",您可以使用 StringUtils 来计算每个数字出现的次数;

int ones = StringUtils.countMatches(diceString, "1");
int twos = StringUtils.countMatches(diceString, "2");
int threes = StringUtils.countMatches(diceString, "3");
int fours = StringUtils.countMatches(diceString, "4");
int fives = StringUtils.countMatches(diceString, "5");
int sixes = StringUtils.countMatches(diceString, "6");

如果其中任何一个是 3,则您有 3 个同类

return ones==3 || twos==3 || threes==3 || fours==3 || fives==3 || sixes==3;

关于java - 快艇三样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13264972/

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