gpt4 book ai didi

java - 卡力技巧。如何完成完美的洗牌或里弗洗牌

转载 作者:行者123 更新时间:2023-12-02 09:12:26 25 4
gpt4 key购买 nike

我已经完成了几乎所有完美洗牌的java代码。我只是在与错误作斗争:“线程“main”java.lang.ArrayIndexOutOfBoundsException中的异常:在cards_shuffle.main(cards_shuffle.java:72)处长度26的索引26超出范围”此错误指的是行:



Output:

洗牌后的上半部分:

黑桃 410 颗钻石黑桃 8钻石王牌红心4红心 jack 红桃皇后黑桃皇后4 颗钻石黑桃 jack 红心国王红心5红心10黑桃 92 俱乐部黑桃 6钻石之王3 俱乐部黑桃 7钻石 jack 红心37 颗钻石3 颗钻石红心9号梅花 A5 颗钻石

洗牌后的下半部分:

红心6红心7号10 俱乐部红心王牌红心2钻石皇后6 梅花8 颗钻石黑桃K黑桃 5梅花皇后9 梅花黑桃 2黑桃 39 颗钻石黑桃王牌黑桃 10俱乐部之王7 俱乐部2 颗钻石6 颗钻石4 俱乐部红心 85 梅花8 梅花梅花 jack

洗牌:

红心6

I have just included the 6 of Hearts once but it prints out 52 times.

Any help with this error would be greatly appreciated.

最佳答案

您的i变量超出了top_half的数组范围,因为它在内部循环中增加了bottom_half.length次。另外,您根本不应该增加变量i,因为您想从上到下填充卡片力。否则,您应该为其使用单独的索引。

尝试

int i = top_half.length - 1;
int j = bottom_half.length - 1;
int index = 51;
while (index >= 0) {
card_force[index--] = top_half[i--];
card_force[index--] = bottom_half[j--];
}

关于java - 卡力技巧。如何完成完美的洗牌或里弗洗牌,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59302097/

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