美文网首页
Java类与对象之扑克练习

Java类与对象之扑克练习

作者: 失忆的鱼不会思念 | 来源:发表于2017-12-29 10:41 被阅读0次

任务目的

1.培养编程思维,提高分析问题能力
2.掌握类的抽象与设计
3.掌握循环,分支条件的用法
4.掌握各种集合类的使用(Map,List,Set)

任务描述

1.定义一个单张扑克类(考虑需要哪些属性),定义一个一副扑克牌类,该类包含一个单张扑克对象的数组(不考虑大小王)。实现一个模拟扑克发牌洗牌的算法;
2.电脑随机发出5张牌,判断是以下哪种牌型?(提示,利用Map,List,Set等各种集合的特性可以简化判断)

package com.company;

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

              Poker poker = new Poker();
                poker.output();
                poker.shuffle();//洗牌
                System.out.println();
                poker.output();
    }
}
package com.company;


/**
 * Created by ttc on 17-12-29.
 */
public class Poker {
        private Card[] cards=new Card[52];
        private String[]colors={"红桃", "方片", "黑桃","草花"};
        private int[]valus={1,2,3,4,5,6,7,8,9,10,11,12,13};
        public Poker()
        {
            for (int i = 0;i<cards.length;i++)
            {
                Card card = new Card();
                card.setColor(colors[i/13]);
                card.setValue(valus[i%13]);
                cards[i]=card;
            }
        }
        public void output() {
            for (int i = 0; i < cards.length; i++) {
                if (i % 13 == 0) {
                    System.out.println();
                }
                Card card = cards[i];
                System.out.print(card + "\t");
            }
        }
            //洗牌方法
            public void shuffle()
            {
                for(int i = 0; i < cards.length; i++)
                {
                    //生成一个0-51之间的随机数,拿这个随机数作为数组下标,找到一张牌
                    int index = (int)(Math.random() * 52);
                    Card cardTemp = cards[index];
                    //和当前的牌进行交换
                    cards[index] = cards[i];//随机找到的那张牌的位置的牌换成当前循环到的那张牌
                    cards[i] = cardTemp;//当前的牌换成随机出来的那张牌

                }
            }

        }


package com.company;

/**
 * Created by ttc on 17-12-28.
 */
public class Card {

    private String color;
    private int value;
    public String toString()
    {
        String str="";
        if (value==11)
        {
            str="J";
        }
        else if (value==12)
        {
            str="Q";
        }
        else if (value==13)
        {
            str="K";
        }
        else if (value==1)
        {
            str="A";
        }
        else
        {
            str = value+"";
        }
        return color+str;
    }
    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }

    public int getValue() {
        return value;
    }

    public void setValue(int value) {
        this.value = value;
    }
}

相关文章

  • Java类与对象之扑克练习

    任务目的 1.培养编程思维,提高分析问题能力2.掌握类的抽象与设计3.掌握循环,分支条件的用法4.掌握各种集合类的...

  • 那些年出现的作业

    Java面向对象之类的练习之模拟计算器 demo Java面向对象之类的练习之ArrayBox封装 demo

  • 11.类和对象练习之扑克模拟

    image.png任务目的 0.培养编程思维,提高分析问题能力1.掌握类的抽象与设计2.掌握循环,分支条件的用法3...

  • 《Java核心技术卷 I》之 Java对象与类

    Java对象与类 面向对象程序设计 面向对象程序设计,简称OOP,Java语言就是完全面向对象的。 类 类(cla...

  • Android_开发_Day8_类和对象

    Android_开发Day8类和对象 目的: 了解Java的类和对象,学会Java类和对象的新建与使用。 技术: ...

  • 标签墙

    java入门程序 超级容易理解!!!Java的面向对象思想———类与对象。

  • 3. Java面向对象编程

    类与对象[1] Java是面向对象的汇编语言(面向机器)—— c语言(面向过程)—— java语言(面向对象) 类...

  • Java面向对象最新面试题(含答案)-如果你能够撑握保证找到一份

    Java 面向对象 1. super()与 this()的区别? This():当前类的对象,super 父类对象...

  • Java学习之对象与类

    思维导图 一、对象与类的概述 对象 含义:又来描述客观事物一个实体,由一组属性和方法构成(具体的实体) 对象的特征...

  • 006-面向对象1

    面向过程与面向对象 开车问题 吃饭问题 做饭问题 类与对象 类的概念 对象的概念 练习: 区分类与对象 类的组成 ...

网友评论

      本文标题:Java类与对象之扑克练习

      本文链接:https://www.haomeiwen.com/subject/mdhigxtx.html