阅读以下说明和Java程序,填补代码中的空缺(1)~(6),将解答填入答题纸的对应栏内。
【说明】
很多依托扑克牌进行的游戏都要先洗牌。下面的Java代码运行时先生成一副扑克牌,洗牌后再按顺序打印每张牌的点数和花色。
【Java代码】
import iava.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, Jacky, Queen, King }; //枚举牌点
public static enum Suit(Clubs, Diamonds, Hearts, Spades}; //枚举花色
private final Face face;
private final Suit suit;
public Card( Face face, Suit suit ) {
(1) face=face;
(2) 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() ) {
(3) =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. (4) ,
((i+1)%4==0)?"\n":"" );
}
}
public class Dealer {
public static void main( String[] args ) {
DeckOfCards player= (5) ;
(6) printCards();
}
}