题目:阅读以下说明和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
();
}
}