第四章课后题-洗牌器

写完运行这一刻,真的好开森;
天哪噜,我用的什么结尾,分号?我大概是个入门的程序员了
好吧,让我们来走进我们今天的这个洗牌器;
在写之前我就只想到一个random函数(rank),毫无头绪,不知道如何去除重复的random值,左思右想,想到了桶排序,如果我们把random的结果标记出来,使他不能重复出现,不就可以解决这个问题了吗,接下来程序非常简单,不要闭上眼睛。

此处因为桶排序,所以要把数据放到一个数组中,我借用了txt文本功能,进行替换,(感觉好强大这个功能);


package cc.openhome;
import java.util.Random;
public class Test {
    public static void main(String[] args) {
      String[] number={"梅A","梅2","梅3","梅4","梅5","梅6","梅7","梅8","梅9","梅10","梅J","梅Q","梅K",
      "桃A","桃2","桃3","桃4","桃5","桃6","桃7","桃8","桃9","桃10","桃J","桃Q","桃K",
    "砖A","砖2","砖3","砖4","砖5","砖6","砖7","砖8","砖9","砖10","砖J","砖Q","砖K",
   "心A","心2","心3","心4","心5","心6","心7","心8","心9","心10","心J","心Q","心K"};
    int[] book=new int[number.length];
    int bok=0;
    Random random = new Random();
    for(int i=0;i<number.length;i++)
    {
        do{
            bok=random.nextInt(52);//(表示从0-51)之间生成一个数
            if(i==number.length-1) break;
        }while(book[bok]==1);
        book[bok]=1;
        System.out.printf("%s ",number[bok]);
        if((i+1)%13==0)
        {
            System.out.println();
        }

    }

    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值