嗨我试图随机洗牌,并打印“顶部”四张牌,我的老师告诉我想到洗牌循环作为交换,但我不知道即时通讯正确。任何帮助,将不胜感激。如何在一个循环中洗牌和打印它们
public static void main(String[] args)
{
//Random number generator for shuffle
Random rand = new Random();
//Explaining the program
System.out.println("This program is meant to create a deck of cards and to show the top 4 cards");
//All Arrays
int [] deck = new int [52];
String [] suits = new String []{"Hearts, Spades, Clubs, Diamonds"};
String [] faceValue = new String []{"Ace, 2,3,4,5,6,7,8,9,10, Jack, Queen, King"};
//Filling the deck
for(int index = 0; index < deck.length; index ++)
{
deck[index] = index+1;
//System.out.println(deck[index]);
}
//Shuffle the deck
for(int i =0; i<deck.length; i ++)
{
int temp = rand.nextInt(51)+1;
deck[i] = temp;
deck[i] = deck[temp];
deck[i] = temp;
//System.out.println(deck[i]);
}
//Display
for(int index = 0; index<4;index++)
{
String suit;
String face;
suit = suits[deck[index]/13];
face= faceValue[deck[index]%13];
System.out.println("Your cards are:\n");
}
看看费舍尔耶茨算法随机洗牌 – Rishi
嗯..我建议[这](http://docs.oracle.com/javase/8/docs/api/java/util/Collections。 html#shuffle-java.util.List-),但由于它的学校作业,你可能应该自己实现它 –
“我为我的作业写的代码不起作用”不是问题。这是一个故事。这甚至不是一个有趣的故事。请学习一些[基本的调试技巧](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/),并在您对我们有特定问题时随时回来。 –