这是很早以前的一个洗牌模拟程序,现在传上来给大家分享一下!
package proj;
//import java.util.Vector;
import java.util.*;
public class SendCard {
private Vector v;
public SendCard() {
initOther();
try {
jbInit();
} catch (Exception ex) {
ex.printStackTrace();
}
}
private void initOther(){
v=new Vector();
for(int i=1;i<=13;i++){
v.add(new Card('A',i));
v.add(new Card('B',i));
v.add(new Card('C',i));
v.add(new Card('D',i));
}
}
public void display(){
int total=0;
while(v.size()!=0){
total++;
System.out.print(v.remove((int)(Math.random()*v.size())).toString()+"\t");
if(total%13==0)
System.out.println();
}
}
public static void main(String[] args) {
SendCard sc=new SendCard();
sc.display();
}
private void jbInit() throws Exception {
}
}
class Card{
private int num;
private char name;
public Card(char name,int num){
this.num=num;
this.name=name;
}
public String toString(){
return ""+name+":"+num;
}
}
还有一个循环的例子:
package proj;
import java.util.Random;
public class xipai {
public xipai() {
}
public static void main(String[] args) {
xipai xipai = new xipai();
int[] card=new int[52];
System.out.println("变量赋初始值:");
for(int i=0;i<52;i++){
card[i]=i+1;
System.out.print("\t"+card[i]);
if((i+1)%10==0)
System.out.println();
}
System.out.println();
System.out.println("洗动之后变为:");
Random ran1 = new Random();
for (int i = 0; i < card.length; i++) {
int temp=0;
int index=ran1.nextInt(52);
temp=card[i];
card[i]=card[index];
card[index] =temp;
}
for (int i = 0; i < 52; i++) {
System.out.print("\t"+card[i]);
if((i+1)%10==0)
System.out.println();
}
}
}