A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 疯狂程序 中级黑马   /  2013-4-1 21:03  /  1352 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

数组的乱序,怎么写,有多少种?

//对数组打乱顺序,洗牌
        public static poke[] randomPokeShow() {
                //调用方法创建扑克牌,返回poke类型的数组
                poke[] pArr = crePoke();
                //System.out.print(pArr.length);做个小实验返回52
                //创建随机对象
                Random random = new Random();
                //遍历所有数组
                for (int x = 0;x < pArr.length;x++ ) {
                        //任意查找随机值,存入int型p中
                         int p = random.nextInt(pArr.length);
                         //对数组内的值进行调换,以达到乱序洗牌
             poke tmp = pArr[x];
             pArr[x] = pArr[p];
             pArr[p] = tmp;
                }
                //返回数组
                return pArr;

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

2 个回复

正序浏览
楼主用随机数进行交换,随机数就有不确定的因素,因此有可能同一角标赋多次值;
二楼想法不错,楼主可以试试
回复 使用道具 举报
用随机数!随机得到两个数作为数组的下标!然后把它们的内容交换!随机数的取值在你的数组长度范围之内!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马