首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和Java程序,填补代码中的空缺(1)~(6),将解答填入答题纸的对应栏内。 【说明】 很多依托扑克牌进行的游戏都要先洗牌。下面的Java代码运行时先生成一副扑克牌,洗牌后再按顺序打印每张牌的点数和花色。 [Java代码] im
阅读以下说明和Java程序,填补代码中的空缺(1)~(6),将解答填入答题纸的对应栏内。 【说明】 很多依托扑克牌进行的游戏都要先洗牌。下面的Java代码运行时先生成一副扑克牌,洗牌后再按顺序打印每张牌的点数和花色。 [Java代码] im
admin
2016-05-11
62
问题
阅读以下说明和Java程序,填补代码中的空缺(1)~(6),将解答填入答题纸的对应栏内。
【说明】
很多依托扑克牌进行的游戏都要先洗牌。下面的Java代码运行时先生成一副扑克牌,洗牌后再按顺序打印每张牌的点数和花色。
[Java代码]
import java.uti1.List;
import java.uti1.Arrays;
import java.uti1.Collections;
clasS Card{//扑克牌类
publiC StatiC enum Face{Ace t 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){
(1) face=face;
(2) suit=suit;
}
public Face getFace(){ return face; }
public suit qetSLlit() { return suit; }
public String getCard()( //返回String来表示一张牌
return String.format(“%S,%S”,face,suit);
}
}
//牌桌类
clas S DeckOfCards{
private List
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();
}
}
选项
答案
(1)this. (2)this. (3)deck[count++] 或等价表示 (4)get(i).getCard() (5)new DeckOfCards() (6)player.
解析
本题考查Java语言程序设计的能力,涉及类、对象、方法的定义和相关操作。要求考生根据给出的案例和代码说明,认真阅读,理清程序思路,然后完成题目。
先考查题目说明。本题目中涉及到扑克牌、牌桌、玩家等类以及洗牌和按点数排序等操作。根据说明进行设计。
Card类内定义了两个static枚举类型,Face枚举扑克牌点数,Suit枚举扑克牌花色。Card类有两个枚举类型的属性,face和suit,而且值不再变化,故用fina1修饰。
在使用构造方法public Card(Face face,Suit suit)新建一个Card的对象时,所传入的参数指定face和suit这两个属性值。因为参数名称和属性名称相同,所以用this.前缀区分出当前对象。在类Card中包含方法getFace()和getSuit(),分别返回当前对象的face和suit属性值。getCard()方法返回String来表示一张牌,包括扑克牌点数和花色。
牌桌类DeckOfCards包含持有Card类型元素的List类型对象的声明List,用以存储牌。List是JaVa中的一种集合接口,是Collection的子接口。构造方法中用Card对象填充牌桌并进行洗牌。先用Card对象填充牌桌,即创建52个Card对象加入deck数组,表示牌桌上一副牌(52张)。然后洗牌,即将数组中的Card对象根据花色和点数随机排列,使用集合工具类Collections中的shuffie方法,对以Ifist类型表示的deck数组进行随机排列。Collections是Java,集合框架中两个主要工具类之一,用以进行集合有关的操作。
printCards()方法将所有Card对象打印出来,按4列显示52张牌。每张拍的打印用list.get(i)获得list表示的deck中的第i个Card对象,然后进一步调用此对象的getCard()方法,得到String表示的当前一张牌。
玩家类中包括启动发牌洗牌等操作,主入口方法main中实现创建牌桌对象,并调用按4列显示52张牌。在main()中,先初始化DeckOfCards类的对象player,即生成一个牌桌:
DeckOfCards player = new DeckOfCards();
并发牌,即调用player的printCards()方法,实现按4列显示52张牌打印一副扑克牌中每张牌的点数和花色。在printCards()方法体内部,用list调用每个数组元素,并为每个数组元素调用getCard()返回当前对象所表示一张牌的花色和点数。用格式化方法进行打印,即:
System.out.printf( “%一19s%s”, list. get( i ).getCard(), ( ( i +1 ) % 4 ==0 ) ? “\n” : “” );
因此,空(1)和(2)需要表示当前对象的this.;空(3)需要牌桌上纸牌对象,并将数组元素下标加1,即数组元素deck[count++];空(4)也需要用list对象获得纸牌对象的字符串表示,即list.后的get(i)-getCard();空(5)处为创建:DeckOfCards类的对象指针player的new DeckOfCards();空(6)需要用对象player调用打印所有纸牌的printCards()函数,即player。
转载请注明原文地址:https://kaotiyun.com/show/C9jZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
在Word2010“查找和替换”文本框中,输入()符号可以搜索0到9的数字。
某企业经常需要进行大量的复杂的数据处理,在数据处理的过程中,需要注意的事项不包括(66)。
下列关于Word2007打印预览和打印的叙述中,正确的是__________。
下列事件中,确定事件是______。①掷一枚硬币正面朝上。②打开电视机,正在播电视剧③随意翻丌一本书,正好翻到第100页④天下雨,地面湿⑤你身高不能长到4米⑥买奖券中特等大奖⑦掷一枚骰子的点数小于8
下列关于操作系统的叙述中,不正确的是______。
下列关于系统软件的叙述中,正确的是(7)。
某企业的大数据工程项目包括如下四个阶段的工作:①数据获取,②数据清洗与整理,③数据分析,④数据展现。一般来说,工作量较大、花费时间较长的阶段是______(1),技术含量最高的阶段是______(2),准备向有关部门递交成果的阶段是______(3)。
在Excel中,若单元格C5=1000、D5=50、C6=6000、D6=40,在单元格E5中输入公式“=C5*$D$5”,再将此公式复制到F6单元格中,则F6单元格的值为(54)。
程序员一般用(7)软件编写和修改程序。
随机试题
Childrenstartoutasnaturalscientists,eagertolookintotheworldaroundthem.Helpingthemenjoysciencecanbeeasy;ther
心动周期中,动脉血压的最高值为心动周期中,动脉血压的最低值为
题16~22:某多跨厂房,中列柱的柱距12m,采用钢吊车梁,吊车梁的中心间距为2m,已确定吊车梁的截面尺寸如图3-6a图所示,吊车梁采用Q345钢制造,使用自动焊和E50焊条的手工焊。在吊车梁上行驶两台重级工作制的软钩桥式起重机,起重量Q=50t/
桩顶混凝土不密实或强度达不到设计要求,其主要原因不包括( )
下列合同或凭证中,应缴纳印花税的是()。
为克服传统的固定预算法的缺点,人们设计了一种适用面广、机动性强,可适用于多种情况的预算方法,即()。
属于内部故障成本的是_________。
心理健康表现为个人具有生命的活力,积极的内心体验和良好的()
前法院转型为艺术课堂,旧的警署“脱胎换骨”成文物酒店,废弃不用的医院旧址重焕生机成为人气聚焦的文化园林……通过极具操作性的制度设计,使多座逾百年历史的建筑被改造,具有了新的功能和灵魂,成为融时代感与香港独特文化内涵于一身的文化地标,香港特区政府于2008年
认真阅读下面一则材料,写一篇700字左右的作文。可以写记叙文,也可以写议论文,自拟标题。非洲有一个民族,婴儿刚生下来就获得60岁的寿命,以后逐年递减,直到零岁。人生的大事都要在60年内完成,此后的岁月便颐养天年了。这真是个绝妙的计岁方法。从
最新回复
(
0
)