ImageVerifierCode 换一换
格式:DOC , 页数:6 ,大小:39KB ,
资源ID:1326570      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1326570.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【计算机类职业资格】二级JAVA机试-45及答案解析.doc)为本站会员(wealthynice100)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【计算机类职业资格】二级JAVA机试-45及答案解析.doc

1、二级 JAVA 机试-45 及答案解析(总分:100.00,做题时间:90 分钟)一、1基本操作题(总题数:1,分数:30.00)1.本程序的功能是,从键盘输入一个整数,存入一个输入流中,然后输出它的两倍值。请将程序补充完整。注意:请勿修改 main()主方法和其他已有语句内容,仅在横线处填入适当语句。import java.io.*;public class basicpublic static void main(String args)File dir=new File(“.“);Filter filter=new Filter(“java“);System.out.println(“l

2、ist java files in directory“ +dir);String files=dir.list(filter);/列出目录 dir 下,文件后缀名为 java 的所有文件for(_;_;i+)File f=new File(dir,filesi);_ (f.isFile()/如果该对象为后缀为 java 的文件,则打印文件名System.out.println(“file“ +f);elseSystem.out.println(“sub directory“ +f);/如果是目录则打印目录名class Filter implements FilenameFilterStrin

3、g extent;Filter(String extent)this.extent=extent;public boolean accept(File dir,String name)return name.endswith(“.“+extent);/返回文件的后缀名(分数:30.00)_二、2简单应用题(总题数:1,分数:40.00)2.在程序中,DataPool 是一个数据池,能存放一个血型数据,线程 a 和线程 b 负责向其中存放数据,一次只能有一个线程向其中存放数据,数据放入 DataPool 以后,该线程随机休眠一段时间,让另外一个线程运行,请将程序补充完整。注意:请勿修改 main

4、()主方法和其他已有语句内容,仅在横线处填入适当语句。class PutData extends ThreadDataPool s;int c;String name;public PutData(DataPool s,String name)this.s=s;this.name=name;public void run()for(int i=0;i10000000;i+)c=(int)(Math.random()*10);s.setData(c);System.out.println(name+“:push“+c);try_(int) (Math.random()*1000);/休眠catc

5、h(InterruptedException e)class DataPoolprivate int data=0;public _void setData(int d)data=d;public class simplepublic static void main(String args)DataPool s=new DataPool();PutData a=new PutData(s,“Thread a“);PutData b=new PutData(s,“Thread b“);a.start();b.start();(分数:40.00)_三、3综合应用题(总题数:1,分数:30.00)

6、3.本程序的功能是监听对于菜单项和工具条按钮的操作。主窗口中有菜单、工具条和一个文字标签,菜单中有“文件”项,“文件”菜单中包括菜单项“新建”、“保存”、“打印”、“页面设置”和“退出”,工具条上包括按钮“新建”、“保存”、“打印”、“页面设置”和“退出”。单击任何一个菜单项或任何一个工具条按钮,文字标签都会显示哪个构件被选中。请更正题中带下划线的部分。运行结果如下图所示。(分数:30.00)_二级 JAVA 机试-45 答案解析(总分:100.00,做题时间:90 分钟)一、1基本操作题(总题数:1,分数:30.00)1.本程序的功能是,从键盘输入一个整数,存入一个输入流中,然后输出它的两倍

7、值。请将程序补充完整。注意:请勿修改 main()主方法和其他已有语句内容,仅在横线处填入适当语句。import java.io.*;public class basicpublic static void main(String args)File dir=new File(“.“);Filter filter=new Filter(“java“);System.out.println(“list java files in directory“ +dir);String files=dir.list(filter);/列出目录 dir 下,文件后缀名为 java 的所有文件for(_;_;

8、i+)File f=new File(dir,filesi);_ (f.isFile()/如果该对象为后缀为 java 的文件,则打印文件名System.out.println(“file“ +f);elseSystem.out.println(“sub directory“ +f);/如果是目录则打印目录名class Filter implements FilenameFilterString extent;Filter(String extent)this.extent=extent;public boolean accept(File dir,String name)return nam

9、e.endswith(“.“+extent);/返回文件的后缀名(分数:30.00)_正确答案:(int i=0ifiles.lengthif)解析:讲解 本题考查知识点:程序流程控制。这道题虽然是一道读取文件的题,但是考查的却仍然是最基本的循环语句和条件分支语句。第 1 个空定义循环的初始条件。第 2 个空定义循环结束条件,当循环次数大于 files 中包含的文件名的个数时,循环完毕。第 3 个空考查 if-else 语句的使用。二、2简单应用题(总题数:1,分数:40.00)2.在程序中,DataPool 是一个数据池,能存放一个血型数据,线程 a 和线程 b 负责向其中存放数据,一次只能

10、有一个线程向其中存放数据,数据放入 DataPool 以后,该线程随机休眠一段时间,让另外一个线程运行,请将程序补充完整。注意:请勿修改 main()主方法和其他已有语句内容,仅在横线处填入适当语句。class PutData extends ThreadDataPool s;int c;String name;public PutData(DataPool s,String name)this.s=s;this.name=name;public void run()for(int i=0;i10000000;i+)c=(int)(Math.random()*10);s.setData(c);

11、System.out.println(name+“:push“+c);try_(int) (Math.random()*1000);/休眠catch(InterruptedException e)class DataPoolprivate int data=0;public _void setData(int d)data=d;public class simplepublic static void main(String args)DataPool s=new DataPool();PutData a=new PutData(s,“Thread a“);PutData b=new PutD

12、ata(s,“Thread b“);a.start();b.start();(分数:40.00)_正确答案:(sleepsynchronized)解析:讲解 本题考查知识点:线程的要领和使用、线程的同步和共享。解题思路:线程类 Thread 提供了一系列控制线程的方法,让线程休眠,就是其中的一种。本题中定义了 PutData 的两个实例 a 和b。PutData 的 run 方法中,利用一个循环向 DataPool 中存放 10000000 个随机数据,每存放一个数据以后休眠一段时间,让其他线程运行。第 1 个空,让线程休眠使用的方法是 sleep()。该方法使线程暂停运行一段时间,在这段时间

13、内线程不会抢占 CPU 资源,为其他线程的运行提供了机会。本题的第 2 个空是考查线程的同步和互斥的问题,当线程 A 和线程 B 都调用 setData 方法改变 data 数值时,在同一段时间内,只能允许一个线程进行操作,这就需要两个线程之间互斥访问 setData()方法。synchronized 允许线程独占地存取对象,当 synchronized 声明的程序块已经被一个线程占用,其他线程就必须等待该线程放弃这个程序块的控制权以后才能对其进行访问。因此,第 2 个空需要填写 synchronized。三、3综合应用题(总题数:1,分数:30.00)3.本程序的功能是监听对于菜单项和工具条

14、按钮的操作。主窗口中有菜单、工具条和一个文字标签,菜单中有“文件”项,“文件”菜单中包括菜单项“新建”、“保存”、“打印”、“页面设置”和“退出”,工具条上包括按钮“新建”、“保存”、“打印”、“页面设置”和“退出”。单击任何一个菜单项或任何一个工具条按钮,文字标签都会显示哪个构件被选中。请更正题中带下划线的部分。运行结果如下图所示。(分数:30.00)_正确答案:(setTitle(titleText)JMenu file=new JMenu(“文件“)cp.add(tb,BorderLayout.NORTH)或 cp.add(“North“,tb)解析:讲解 本题考查知识点:类的继承、AW

15、T 和 Swing 的区别、布局管理器的使用。解题思路:程序中声明了一个菜单构件、一个工具栏构件,声明了 5 个事件添加到菜单和工具栏中。子类继承父类以后,可以调用父类的 public、protected 成员变量和成员方法。子类还可以使用变量 super,访问已经被隐藏或被覆盖了的父类成员变量和方法。题中,JFrame 带一个参数的构造方法已经被子类 advance 的构造方法覆盖。原题打算使用 super 调用父类的构造方法,为框架添加变量 titleText 定义的名字。这样的操作可以实现,但是 super 变量要求必须写在其所在的方法的第一行,而本题中 super 变量前还有语句set

16、DefaultCloseOperation。因此在第 1 条下划线的位置不能使用 super,只能调用 set Title()方法,该方法可以为框架设置名字。file 是一个 AWT 构件 Menu 的对象,而它所在的容器 mb 是一个 Swing 的JMenuBar 对象,两类不同的构件,实现的方法不一样,不能使用 add 方法进行添加。因此在第 2 条下划线处需要把 file 的类型改为 JMenu。容器定义了 BorderLayout 布局管理器以后,如果添加构件时不指明添加的位置,则会把该构件添加到 Center 的位置。由于本题中不需要把名为 actionInfo 的 JLabel 构件添加到 Center 的位置,所以在第 3 条下划线处,添加 tb 构件时必须指明位置参数。本题答案中根据习惯把工具栏添加到容器的顶部,当然,添加到容器的 South、East 或 West 位置也都正确。

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1