《Java程序设计》笔试卷B试题(3)
XXXXXX大学 XXX学院
41、程序中已定义如下字符串数组faces,用来表示牌面面值: String faces[]={ \ \ \并已定义名为hand1的Card数组如下,存放一幅牌(共5张): Card hand1[]=new Card[5];
设已发了一幅牌,并存放在hand1数组中,为了统计该幅牌(54张牌中的任意5张)的每个面值的牌各有多少(因花色不同,不同面值的牌可能有0、1、2、3、4张),程序中已定义一个整型数组: int numbers1[]=new int[13] ;
存放5张牌中13个不同面值中的张数。
请编写方法:void totalHand(),方法的功能是统计一幅牌中不同面值的牌的张数,结果保存在整型数组numbers1中。
42、为了模拟两个线程共享数据,并实现线程对共享数据的同步操作,模拟生产和消费的同步。定义SynchronizedBuffer类做为生产线程和消费线程的共享数据类,类中定义整型缓冲区buffer,用来存放一个整数;定义方法set,用来模拟生产过程,即给变量buffer设置值,该方法由生产线程调用;定义方法get,用来模拟消费过程,即取变量buffer的值,该方法由消费线程调用。生产和消费的逻辑要求是:必须先生产一个整数,然后才能消费该整数;消费后才能继续生产。请完成程序中set方法的编写。
public class SynchronizedBuffer { private int buffer = -1;
private boolean occupiedBuffer= false;
/*编写set方法设置buffer值,该方法将由生产线程调用,模拟生产过程*/ …….;
/*编写get方法得到buffer值,该方法将由消费线程调用,模拟消费过程*/ public synchronized int get() {
String name = Thread.currentThread().getName(); while (!occupiedBuffer) { try {
System.err.println( name
+\试图消费,但还没有生产!等待生产!\ wait(); }
catch ( InterruptedException e ) { e.printStackTrace(); } }
occupiedBuffer=false;
System.out.println( name+ \消费一个整数:\ notify();
return buffer; } }
第 11 页 共 11 页
相关推荐:
- [综合文档]应答器设备技术规范(征求意见稿)A1
- [综合文档]教师 2012年高考政治试题按考点分类汇
- [综合文档]保险公司的总经理助理竞职演说
- [综合文档]卫生应急大练兵大比武活动考试--题库(
- [综合文档]徐州经济技术开发区总体规划环境影响报
- [综合文档]汉语拼音表(带声调)
- [综合文档]二年级 上 思维训练( 1~18)
- [综合文档]特色学校五年发展规划
- [综合文档]机床经常出现报警“X1轴定位监控”
- [综合文档]《电子技术基础》21.§5—2、3、4 习题
- [综合文档]浙江省深化普通高中课程改革
- [综合文档]CRISP原理 - 图文
- [综合文档]2017年电大社会调查研究与方法形考答案
- [综合文档]浅析建筑施工安全毕业论文
- [综合文档]《回忆我的母亲》名师教案
- [综合文档]装饰装修工程监理规划
- [综合文档]三下乡心得体会-文艺
- [综合文档]柱计算长度系数 - 图文
- [综合文档]全流程思考,提高燃电系统热电转换率--
- [综合文档]2018年嘉定区中考物理一模含答案
- 433M车库门滚动码遥控器
- 8、架空线路施工规范
- 大学四年声乐学习的体会
- 新北师大版五年级数学上册《轴对称再认
- 部编版五年级上册语文第六单元小结复习
- 小学六年级英语形容词用法
- 第2课 抗美援朝保家卫国 课件01(岳麓版
- 2015年天津大学运筹学基础考研真题,考
- 微机计算机控制技术课后于海生(第2版)
- 安全教育实践活动
- Delphi程序设计教程_第1章_Delphi概述
- 第八讲 工业革命与启蒙运动
- 《中华人民共和国药典》2005年版二部勘
- 科粤版九年级化学2.3构成物质的微粒(1)
- 西师大版数学三年级下册《长方形、正方
- ch6_冒泡排序演示
- 第4章 冲裁模具设计
- 浙江中小民营企业员工流失论文[终稿]
- 再议有线数字电视市场营运模式
- 昆明供水工程监理大纲




