刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

阅读以下说明和Java程序,填补代码中的空缺,将解答填入答题纸的对应栏内。
[说明]
很多依托扑克牌进行的游戏都要先洗牌。下面的Java代码运行时先生成一副扑克牌,洗牌后再按顺序打印每张牌的点数和花色。

[Java代码]

    import
java.util.List;

    import
java.util.Arrays;

    import
java.util.Collections;

    class Card { //扑克牌类

    public static enum
Face  { Ace,  Deuce,  Three,  Four,  Five,  Six,

    Seven,
 Eight, Nine,  Ten,  Jack, Queen, King };      
       //枚举牌点

    public static enum
Suit { Clubs,  Diamonds, Hearts, Spades };  //枚举花色

    private final Face
face;

    private final Suit
suit;

    public Card( Face
face, Suit suit )  {

    ______ face =
face;

    ______ suit =
suit;

     }

     public Face
getFace()  {  return face;     }

     public Suit
getSuit()   {  return suit;     }

    public String
getCard()  {      //返回String来表示一张牌

    return
String.format( "%s, %s",  face,  suit);

    }

    }

    //牌桌类

    class DeckOfCards
 {

    private List< Card > list;              //声明List以存储牌

    public DeckOfCards
()  {                //初始化牌桌并进行洗牌

    Card[]  deck
= new Card[ 52 ];

    int count = 0;
                     
   //牌数

    //用Card对象填充牌桌

    for  ( Card.
Suit suit : Card. Suit.values()  )  {

    for  ( Card.
Face face : Card. Face. values()  )  {

    ______ = new Card(
face,  suit );

    }

    }

    list =
Arrays.asList( deck );

    Collections.
shuffle( list );        //洗牌

    }

    public void
printCards()

    {

    //按4列显示52张牌

    for ( int i = 0; i
< list.size(); i++ )

    System.out.printf(
"%-19s%s",  list. ______,

    ( ( i+1 ) % 4 == 0
) ? "\n  );

    }

    }

    public class
Dealer {

    public static void
main( String[]  args )   {

    DeckOfCards player
= ______;

    ______ printCards
();

    }

    }

使用微信搜索喵呜刷题,轻松应对考试!

答案:

this.
this.
deck[count++]    或等价表示
get(i).getCard()
new DeckOfCards()
player.

解析:

这道题目是关于Java语言中的面向对象编程和集合框架的使用。题目要求创建一个扑克牌类的定义,包括牌面和花色的枚举类型,以及一个洗牌并打印扑克牌的类。具体的解析如下:

一、对于第一个空和第二个空,由于在构造方法中需要初始化类的属性,所以需要使用关键字"this"来区分参数和属性。因此,填空答案为"this"。

二、第三个空需要创建一个新的Card对象并将其添加到deck数组中。可以使用"deck[count++]“的方式创建一个新的Card对象并存储到数组中的下一个位置,或者使用List的add方法添加元素。因此,填空答案为"deck[count++] 或等价表示”。

三、第四个空需要获取牌对象并调用其getCard()方法获取牌的字符串表示。可以使用"list.get(i).getCard()“的方式获取并打印牌对象的字符串表示。因此,填空答案为"get(i).getCard() 或 list.get(i).getCard() 或其他获取牌对象并调用其getCard()方法的方式”。

四、第五个空需要创建一个新的DeckOfCards对象。可以使用"new DeckOfCards()“的方式创建新的DeckOfCards对象。因此,填空答案为"new DeckOfCards() 或 new DeckOfCards创建牌桌对象的方式(具体语法可能因IDE或编译器而异)”。

五、第六个空需要使用正确的对象引用调用printCards方法。可以使用"player.printCards()“的方式调用printCards方法。因此,填空答案为"player.printCards() 或使用正确的对象引用调用printCards方法的方式(具体语法可能因IDE或编译器而异)”。

创作类型:
原创

本文链接:阅读以下说明和Java程序,填补代码中的空缺,将解答填入答题纸的对应栏内。[说明]很多依托扑克牌进行

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share