java 数组位置调整_用于比较数组位置的Java函数?

我最近开始学习Java的乐趣,但陷入了以下问题:

我有两个数组int[]持有扑克手的表示。

数组中的位置0指示它是否是直接刷新,其中的数字指示高卡的值。数组中的位置1说明它是否是一种类型,卡片的值是5,这里的值是5:s中有四种类型,以此类推。

所以我想比较所有的玩家数组的第一个位置0(对于直接冲水)和拥有最高数量胜利的玩家。如果所有人都有0或2或更多的玩家有相同的数字,则在数组中步进到位置1并进行比较,依此类推。

为了简化代码,我尝试执行一个比较函数,比较两个参与者的手,如果hand1(在代码数组1中)高于hand 2(数组2),则返回该函数。

如果h1>h2返回1

如果h1

如果等于返回0

我做了以下代码(不起作用):

int isBetterHand(int[] array1, int[]array2){ //private

if(array1.length > array2.length){ throw new RuntimeException("arrayCompare got arrays of different length.");}

int arrayLength = array1.length;

for(int i = 0; i < arrayLength; i++){

if(array1[i] > array2[i]){

return 1;

} else if(array1[i] < array2[i]){

return -1;

} else {

return 0;

}

}

return 0;

}

我想在Java中,如果Aray1(0)(比较器类似& lt;& gt;==)ARARY2(0),则不能写入。

如何修复上面的代码?还有没有一种更快、更好、更聪明的方法来做到这一点?这些数组有26个数字长。我需要共同比较最多8个数组。

假设我还有5个玩家在游戏中,我可以得到一个矩阵(我只在前5个位置输入:

p1 0,0,0,0,0,…

p2 0,0,0,0,0,…

P3 0,2,0,0,0,…

P40,0,13,3,0,…

P5 0,0,0,0,14,…

在上面的示例中,位置[0]表示在直接冲洗中的HighCard没有

在位置[1]中,显示p3是赢家,2:s中有4个同类。

((位置[2]&[3]显示P4的全屋k超过3(但一种类型的p3 4更好…))

编辑:哇!我没想到答案会这么快。现在,它像一个魅力。

大!感谢所有帮助过我的人。

我必须更深入地讨论比较数组矩阵的建议,但你们给了我正确的方向。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页
评论

打赏作者

bingxuelzc

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值