2.4模拟打牌游戏中的发牌过程

摩尔的Java学习笔记2.4

第二周作业:

1、实现将一组整数进行升序排列;
2、用二维数组实现,5个学生4门课程的总分和平均分的统计工作;
3、打印八行八列杨辉三角,开头不打印空格;
4、模拟打牌游戏中的发牌过程。用1~52来代表52张牌,玩家有四人,要求将发牌结果存入一个二维数组(4行13列),最后显示发牌结果,不许重复;
5、输入多个字符串,存入数组,然后按照字符串的大小重新升序排列;
6、使用二维数组存储学生的数据,包括学号、姓名、操作系统成绩、Java成绩、高数成绩、总分;一行存储一个学生的数据;要求输入若干学生的数据,求出总分;然后按照总分由高到低重新排列;输出排序后的结果。

4、模拟打牌游戏中的发牌过程。用1~52来代表52张牌,玩家有四人,要求将发牌结果存入一个二维数组(4行13列),最后显示发牌结果,不许重复;

/**
* @author 薛莲婷
* 发牌模拟程序
* 模拟打牌游戏中的发牌过程。用1~52来代表52张牌,玩家有四人,要求将发牌结果存入一个二维数组(4行13列),最后显示发牌结果,不许重复
*/

class Assignment3 {

    public static void main(String[] args) {

        int [][]card=new int[4][13];                        //4个人的13张牌

        for(int i=0;i<4;i++)
        {
            for(int j=0;j<13;j++)
            {
                int flag=0;
                while(flag==0)                              //flag为0表示此张结果与之前已发的牌有重复
                {
                    card[i][j]=(int)(52*Math.random()+1);
                    flag=1;

                    for(int a=0;a//在比i小的行中比较
                    {
                        for(int b=0;b<13;b++)
                        {
                            if(card[i][j]==card[a][b])
                            {
                                flag=0;
                            }
                        }
                    }

                    for(int b=0;b//在i行中比较
                    {
                        if(card[i][j]==card[i][b])
                        {
                            flag=0;
                        }
                    }

                }

            }
        }

        System.out.println("发牌结果:");                        //输出发牌结果

        for(int i=0;i<4;i++)
        {
            System.out.printf("第 %d 人:\t",i+1);
            for(int j=0;j<13;j++)
            {
                System.out.print(card[i][j]+"\t");
            }
            System.out.print("\n");
        }

    }

}

你可能感兴趣的:(Java,题目)