[计算机类试卷]国家二级(JAVA)机试模拟试卷86及答案与解析.doc

上传人:周芸 文档编号:503623 上传时间:2018-11-29 格式:DOC 页数:6 大小:33KB
下载 相关 举报
[计算机类试卷]国家二级(JAVA)机试模拟试卷86及答案与解析.doc_第1页
第1页 / 共6页
[计算机类试卷]国家二级(JAVA)机试模拟试卷86及答案与解析.doc_第2页
第2页 / 共6页
[计算机类试卷]国家二级(JAVA)机试模拟试卷86及答案与解析.doc_第3页
第3页 / 共6页
[计算机类试卷]国家二级(JAVA)机试模拟试卷86及答案与解析.doc_第4页
第4页 / 共6页
[计算机类试卷]国家二级(JAVA)机试模拟试卷86及答案与解析.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、国家二级( JAVA)机试模拟试卷 86及答案与解析 一、基本操作题( 30分) 1 当按下鼠标时,一个圆不断地增大半径。 注意:请勿改动已有语句内容,仅在下划线处填入适当的语句。 import java.applet.*; import java.awt.*; import java.awt.event.*; public class ex1 extends applet implements MouseListener TextField text; int x; public void init() x=6; text=new TextField(30); add(text); addM

2、ouseListener(this); public void paint(Graphics g) x= x+2; g.drawOval(10,10,x,x); public void mousePressed(MouseEvent e) Text.setText(“鼠标按下的位置是: “+e.getX()+“,“e.getY(); repaint(); public void mouseReleased(MouseEvent e) Text.setText(“鼠标松开的位置是: “+e.getX()+“,“e.getY(); repaint(); public void mouseEnter

3、ed(MouseEvent e) Text.setText(“鼠标进来的位置是: “+e.getX()+“,“e.getY(); repaint(); public void mouseExited(MouseEvent e) Text.setText(“鼠标退出的位置是: “+e.getX()+“,“e.getY(); _; 二、简单应用题( 40分) 2 在程序中, DataPool是一个数据池,能存放一个血型数据,线程 a和线程 b负责向其中存放数据,一次只能有一个线程向其中存放数据,数据放入 DataPool以后,该线程随机休眠一段时间,让另外一个线程运行,请将程序补充完整。 注意:请

4、勿修改 main()主方法和其他已有语句内容,仅在横线处填入适当语句。 class PutData extends Thread DataPool s; int c; String name; public PutData(DataPool s,String name) this.s=s; this.name=name; public void run() for(int i=0;i 10000000;i+) c=(int)(Math.random()*10); s.setData(c); System.out.println(name+“:push“+c); try _(int) (Math

5、.random()*1000);/休眠 catch(InterruptedException e) class DataPool private int data=0; public _void setData(int d) data=d; public class simple public 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();

6、 三、综合应用题( 30分) 3 以下程序从键盘读取一个字符串以 #作为结束,再将字符串中的小写英文字母改写成大写英文字母,最后将改写好的字符串写入磁盘文件 file.txt,请将程序补充完整。 注意:不改动程序结构,不得增行或删行。 package ch3; import java.io.*; class File1 private char ch; private int i=a-A; void savetoFile() System.out.println(“请输入一个字符串: “); try _out=new_(“ch3/file.txt“); while(ch=(char)Syste

7、m.in._() !=#) if(ch =a out._; out.close(); catch(IOException e) e.printStackTrace(); public class ex3 public static void main(String args) File1 obj=new File1(); Obj.savetoFile(); 国家二级( JAVA)机试模拟试卷 86答案与解析 一、基本操作题( 30分) 1 【正确答案】 repaint() 【试题解析】 本题考查对鼠标事件的掌握,鼠标事件有很多种,最常用的有mousePressed(MouseEvent)、 m

8、ouseReleased(MouseEvent)、mouseEntered(MouseEvent)、 mouseExited(MouseEvent)、 mouseClicked(MouseEvent e)等。 MouseEvent有几个重要的方法, getX()、getY()、 getModifiers()、 getClickCount()、 getSource()等。本题目中的空白处应该填写 repaint()。 二、简单应用题( 40分) 2 【正确答案】 sleep synchronized 【试 题解析】 本题考查知识点:线程的要领和使用、线程的同步和共享。解题思路:线程类 Threa

9、d提供了一系列控制线程的方法,让线程休眠,就是其中的一种。本题中定义了 PutData的两个实例 a和 b。 PutData的 run方法中,利用一个循环向 DataPool中存放 10000000个随机数据,每存放一个数据以后休眠一段时间,让其他线程运行。第 1个空,让线程休眠使用的方法是 sleep()。该方法使线程暂停运行一段时间,在这段时间内线程不会抢占 CPU资源,为其他线程的运行提供了机会。本题的第 2个空是考查线程的同步和互斥 的问题,当线程 A和线程B都调用 setData方法改变 data数值时,在同一段时间内,只能允许一个线程进行操作,这就需要两个线程之间互斥访问 setD

10、ata()方法。 synchronized允许线程独占地存取对象,当 synchronized声明的程序块已经被一个线程占用,其他线程就必须等待该线程放弃这个程序块的控制权以后才能对其进行访问。因此,第 2个空需要填写 synchronized。 三、综合应用题( 30分) 3 【正确答案】 FileOutputStream FileOutputStream read write(ch) 【试题解析】 本题是考查对文件输出流及其常用方法的理解。这里用文件输出流FileOutputStream创建向文件 file.txt中写入字节数据的输出流,每次使用System.in的方法 read()读取一个字符,然后进行转换,再调用 FileOutputStream类的 write()方法将转换后的字符写到文件对象中,这里的参数是字符类型的变量ch。因此, 4个空的答案分别是 FileOutputStream、 FileOutputStream、 read和write(ch)。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

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