第四章课后题-洗牌器

写完运行这一刻,真的好开森;
天哪噜,我用的什么结尾,分号?我大概是个入门的程序员了
好吧,让我们来走进我们今天的这个洗牌器;
在写之前我就只想到一个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();
        }

    }

    }

}

猜你喜欢

转载自blog.csdn.net/leaflifeli/article/details/81120831