首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2ME开发 >

用数组,写个洗牌的方法,该如何解决

2013-01-25 
用数组,写个洗牌的方法public class Card{public static void main(String[] args) {int[] pnew int[54]

用数组,写个洗牌的方法
public class Card{
public static void main(String[] args) {
        int[] p=new int[54];

 for(int i=1;i<54;i++){

   p[i]=i; 

double  b=Math.random()*50+1;

 int c=(int)b;

 if(c>=i){

  

  int temp=p[i];

  p[i]=p[p.length-1];

 p[p.length-1]= temp;

  

   }

  System.out.println(p[i]);

  }
  }
}
怎样才能输不出来0
[解决办法]
我说的这个方法。。。已经非常简单了吧?

// 初始化牌盒
int[] p= new int[54];
// 初始化所有扑克
for(int i=0;i<54;i++) p[i] = i+1; 
// 顺序洗牌
for(int i=0;i<54;i++) {
    // 随机跟另一张牌交换
    int r = (int)(Math.random()*54);
    // 交换
    int tmp = p[r];
    p[r] = p[i];
    p[i] = tmp;
}
// 至此完毕

热点排行