在我过去三年的职涯中,遇到过无数的问题,一直想记录下来,但是一直耽搁着。从这篇洗牌算法开始,我会一点一点将我所记得的问题和解决办法整理出来。
固定数目的扑克牌,打完后洗牌,每次洗牌得到的顺序都是不一样的。
22个编号的盒子,对应于22种给定的money,每次运行时让盒子里存放随机的money。这是刚毕业的头半年,我刚开始学习java不久,领导让我写的一个游戏程序里的一个技术问题。后来我知道了,是网络上的一个小游戏。只是给我的资料里不需要做游戏的界面,只要实现游戏的后台,在控制台输入输出就可以。
public int[] randoms() //产生22个随机排列的value。
{
Random r = new Random();
int temp1,temp2;
int send[] = {1,10,50,100,500,1000,5000,10000,25000,50000,75000,100000,
300000,500000,1000000,1500000,2000000,3500000,5000000,
7500000,10000000,25000000};
int len = send.length;
int returnValue[] = new int[22];
for(int i=0;i<22;i++)
{
temp1 = Math.abs(r.nextInt())% len;
returnValue[i] = send[temp1];
temp2 = send[temp1];
send[temp1] = send[len-1];
send[len-1] = temp2;
len--;
}
return returnValue;
}