(1)堆栈的操作规则如何?(2分) (2)写出程序运行后的结果。(3分) 【答案】 (1) 先进后出 (2) 丁 丙 乙
五、根据题目要求编写程序(本大题2小题,第1小题5分,第2小题10分,共15分) 1.请定义一个名为Card的扑克牌类,该类有两个private访问权限的字符串变量face和suit:分别描述一张牌
的牌面值(如:A、K、Q、J、10、9、…、3、2等)和花色(如:?黑桃?、?红桃?、?梅花?和?方块? )。定义Card类中的public访问权限的构造方法,为类中的变量赋值;定义protected访问权限的方法
getFace(),得到扑克牌的牌面值; 定义protected访问权限的方法getSuit(),得到扑克牌的花色; 定义方法
toString(),返回表示扑克牌的花色和牌面值字符串(如?红桃A?、?梅花10?等)。 【答案】1.5分 class Card {
private String face; private String suit;
public Card( String f, String s ) { face = f; suit = s; }
protected String getSuit(){ return suit; }
protected String getFace(){ return face; }
public String toString(){
return face + \ } }
2.若应用程序的main方法中,定义字符串数组f和s: 分别表示扑克牌的牌面值和花色;定义52个元素的Card类
型数组deck,用来存放4个花色的52张牌。如下所示。 String f[] = { \ \ \ String s[] =
{ \黑桃\红桃\梅花\方块\ Card deck = new Card[ 52 ];
(1)使用Card类的构造方法给deck数组的52张牌赋值,要求数组中先存放黑桃花色的A、2、3、…、K;然后
是红桃花色的A、2、3、…、K;梅花花色的A、2、3、…、K;方块花色的A、2、3、…、K。请写出实现上述功 能的程序段。
【答案】 (1)5分
for ( int i = 0; i < deck.length; i++ ) {
deck[ i ] = new Card( faces[ i % 13 ], suits[ i / 13 ] ); }
(2)请编写模拟洗牌的程序段,即把数组deck中的扑克牌随机打乱存放顺序。 【答案】(2)5分
for ( int first= 0; first< deck.length; first++ ) { int second = ( int ) ( Math.random() * 52 ); Card temp = deck[ first];
deck[ first] = deck[ second ];
deck[ second ] = temp;
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库《JAVA语言程序设计》期末考试试题及答案2(题库超级大全 - 应考(5)在线全文阅读。
相关推荐: