【发布时间】:2014-02-18 03:21:18
【问题描述】:
问题描述如下:
“shuffle 方法通过循环遍历 Card 对象数组一次一个位置并随机交换(参见数组讲座的幻灯片 62-63)在该位置的 Card 和 Card 来随机打乱 Card 对象数组位置(由随机数确定)在 0 到 51 之间。”
我已经编写了以下代码来执行上述操作,但它并没有洗牌我的卡片对象。
public void shuffle()
{
//reset nextCard to 0.
nextCard = 0;
Random randomGen = new Random();
Card tempCard;
int randomNum = randomGen.nextInt(DECK_SIZE);
int i;
for(i=0;i<DECK_SIZE;i++)
{
tempCard = deck[i];
deck[i] = deck[randomNum];
deck[randomNum] = tempCard;
}//end for.
}//end shuffle().
有什么问题,我该如何解决?
P.S.我会根据要求发布控制台输出。
【问题讨论】:
-
您应该在循环内生成
randomNum,如果它与i相同,请尝试再次生成它