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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家二级( JAVA)机试模拟试卷 66及答案与解析 一、基本操作题( 30分) 1 下列程序中,要求按照从小到大的顺序输出 1 100之间所有能被 7整除的数字,请将下列程序补充完整。 注意:请勿改动 main()主方法和其他已有语句内容,仅在横线处填入适当语句。 public class Example1_3 public static void main(String argv) int i = 1; _ if(_) System.out.print(i+ “,“); _ while(i 100); System.out.println(); 二、简单应用题( 40分) 2 请完成下面的

2、程序:实现一个可以每秒跳动的时钟。运行如下图所示。请填写横线处的内容。 注意:请勿改动 main主方法和其他 已有语句内容,仅在下划线处填入适当的语句。 import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.*; public class Example2_12 extends JFrame (1) implements Runnable Thread thread1; Color handColor; Color numberColor; JLabel jlabell = new

3、JLabel(); public Example2_12() enableEvents(AWTEvent.WINDOW_EVENT_MASK); try getContentPane().add(jlabell, BorderLayout. SOUTH); catch (Exception e) System.out.println(e.getMessage(); public static void main(String args) Example2 12_clock1 = new Example2_12(); clock1.init(); clock1.start(); clock1.s

4、etSize(260, 230); clock1.setResizable(false); clock1.show(); public void init() int x, y; handColor = Color.blue; numberColor = Color.darkGray; setBackground(Color.white); public void paint (Graphics g) int xh, yh, xm, ym, xs, ys, s = 0, m = 10, h = 10, xpoint, ypoint; String today; Calendar c1 = _;

5、 s = c1.get(Calendar.SECOND); m = c1.get(Calendar.MINUTE); h = c1.get(Calendar.HOUR); int day, month, year, weekday; day = c1.get(Calendar.DATE); month = c1.get(Calendar.MONTH) + 1; year = c1. get (Calendar. YEAR); weekday = c1.get (Calendar. DAY_OF_WEEK); jlabell.setText(“Today is “+ year + “/“ + m

6、onth + “/“ + day + “/ “+ “Time:“ + h + “:“ + m + “:“ + s); xpoint = 130; ypoint = 100; xs =(int) (Math.cos(s * 3.14f / 30 - 3.14f / 2) * 45 + xpoint); ys =(int) (Math.sin(s * 3.14f / 30 - 3.14f / 2) * 45 + ypoint); xm =(int) (Math.cos (m * 3.14f / 30 - 3.14f / 2) * 40 + xpoint); ym =(int) (Math.sin(

7、m * 3.14f / 30 - 3.14f / 2) * 40 + ypoint); xh =(int) (Math.cos( (h * 30 + m / 2) * 3.14f / 180 - 3.14f / 2) * 30 + xpoint); yh =(int) (Math.sin( (h * 30 + m / 2) * 3.14f / 180 - 3.14f / 2) * 30 + ypoint); g.setColor (handColor); g.clearRect(0, 0, 260, 200); g.drawOval(xpoint / 2 + 10, ypoint / 2 -

8、5, 110, 110); g.setColor(numberColor); g.drawString(“9“, xpoint - 45, ypoint + 3); g.drawString(“3“, xpoint + 40, ypoint + 3); g.drawString(“12“, xpoint - 5, ypoint - 37); g.drawString(“6“, xpoint - 3, ypoint + 45); g.setColor(getBackground ( ) ); g.setColor(numberColor); g.drawString(“ “, 5, 125);

9、g.drawLine(xpoint, ypoint, xs, ys); g.setColor(handColor); g.drawLine(xpoint, ypoint, xm, ym); g.drawLine(xpoint, ypoint, xh, xh); public void start() thread1 = new Thread(this); thread1. _; public void stop () thread1=null; public void update (Graphics g) paint (g); public void run () Thread me = T

10、hread. currentThread (); while (thread1 = me) try Thread. currentThread ( ) . sleep ( 100 ); catch (InterruptedException e) e.printStackTrace(); repaint ( ); protected void processWindowEvent(WindowEvent e) super.processWindowEvent(e); if (e.getID() = WindowEvent.WINDOW_CLOSING) System.exit(0); 三、综合

11、应用题( 30分) 3 下面程序是一个计时器,从 1000秒开始倒计时,直到为 0结束。在界面上有两个按钮,一个可以暂停计时,另一个可以继续已经暂停的计时。请更正题中带下划线的部分。 注意:不改动程序的结构,不得增行或删行 import java.awt.*; import java.awt.event.*; import java.applet.Applet; public class Example3_4 extends Applet public Color color = Color.red; private int num= 1000; public Counter theCount

12、er; private Button stop; private Button start; public void init() stop = new Button(“暂停 “); start = new Button (“继续 “); theCounter = new Counter(this); stop.addActionListener(new Lst() implements ActionListener public void actionPerformed(ActionEvent e) theCounter.sus(); ); start.addActionListener(n

13、ew SuspenListener(); add(start); add(stop); theCounter.start(); public void paint(Graphics g) g.setCotor(color); g.drawString(String.valueOf(num),50,50); public void setInt(int i) num=i; class SuspenListener implements ActionListener public void actionPerformed(ActionEvent e) theCounter.conti (); pu

14、blic class Counter extends Thread Example3_4 example; boolean isHold; Counter (Example3_4 ex) this.example = ex; isHold = false; public void sus() isHold = true; public synchronized void conti() isHold = false; notify(); public void run() for (int i = 1000; i 0; i-) if (i%2 = 1) example.color = Colo

15、r.red; else example.color = Color.blue; example.setInt(i); example.repaint(); try sleep(1000); synchronized while(isHold) wait ( ); catch (InterruptedException ie) HTML HEAD TITLE Example3_4 /TITLE /HEAD BODY applet code=“Example3_4.class“ width=300 height=400 /applet /BODY /HTML 国家二级( JAVA)机试模拟试卷 6

16、6答案与解析 一、基本操作题( 30分) 1 【正确答案】 do i 7=0 i+;或者 i=i+1;或者 i+=1; 【试题解析】 本题主要考查 Java编程的流程控制。 Java语言中的流程控制主要是通过循环、分支和跳转三种语句来实现的。在解这类题型的时候,首先要分清楚题中要考查的语句类型,比如本题考查了考生对 do-while循环的掌握情况;然后,再根据对应的类型,看题中的语句结构是否完整。题中变量 i从 1循环增加到99,每一个数字模 7,如果余数为 0就认为这是一个可以被 7整除的数。 本题中, do-while循环缺少了 “do”这个循环开始语句,因此第一个空需要填写“do”以使循

17、环体完整;最后也是最重要的,循环一定要保证能够 正常结束,许多编程经验丰富的人也会因为一时大意而写出死循环来,这样的错误一定要避免。 第二个空就是使 i值顺序增加,直到 i=100时程序退出循环。 本题中还考查了考生对条件分支语句的掌握,即 if语句。在解条件分支语句的题的时候,首先要找出需要满足的条件是什么,需要通过分支语句分流的条件是什么。比如题中要求能被 7整除,所谓整除就是余数为 0,这样我们就知道,分支条件就是余数值是否为 0,则第二个空应该填写 “i 7=0”。 二、简单应用题( 40分) 2 【正确答案】 Calendar.getInstance() start() 【试题解析】

18、 本题主要考查线程和日历类的知识。在图形程序处理中,经常会用到多线程。使用多线程的类必须实现 Runnable,接口, Thread类已经实现了Runnable接口,其子类自动实现了此类。要开始一个线程,应调用该类的 start方法 (第 2个空 )。这时 Java会自动开始在该线程中调用该类的 run方法。另外,在Java中,有的类只能有一个实例,不能创建它的多个实例对象。这在设计模式中叫做 Singleton(单例 )模式。 Calendar类就是这样的类,它只能通过 getInstance方法得到这个实例对象 (第 1个空 )。 三、综合应用题( 30分) 3 【正确答案】 stop.a

19、ddActionListener(new ActionListener() class Counter extends Thread synchronized(this) 【试题解析】 本程序使用线程类 “Counter”来实现计时的功能,该线程的线程体每1000毫秒循环一次,并在每次循环的开始显示剩余的时间。计时器的暂停和继续通过线程的同步与共享来完成,每次循环结束时,判断标志暂停的变量 “isHold”是否为真,如果为真则进入挂起状态。当用户按下 “暂停 ”按钮,程序调用 Counter类的 sus()方法,将变量 “isHold”设为真。当用户按下 “继续 ”按钮,程序调用Counter

20、类的 conti()方法,将变量 “isHold”设为假,并使用 notify()取消线程的挂起状态。本题第 1个错误是考查对匿名类的使用。匿名类是 Java语言中比较特殊的一种类,这种类不存在类名,而且只能在声明的时候被实例化一次。匿名类必须继承于一个父类或实现一个接口。第 1条横线处,原程序打算声明一个新类 Lst实现 ActionListener接口,并同时实例化一个新对象。但是只有匿名类才能在声明时创建一个新的类对象。因此此处应改用匿名类实现程序的目的。第 2个错误处考查 Java源程序的结构。任何一个 “java”文件中有且只有一个被声明为 public的类,这个类的名字必须与 “java”文件的文件名相同。因此在第 2个错误位置处必须去掉 public声明。 synchronized用来定义一个同步块。 synchronized的定义格式是synchronized (expression)statement, expression是对象或类的 名字,系统将为该对象设置唯一的锁; statement可以是一个方法定义,也可以是一个语句块,在同一时刻只能有一个线程执行这个块中的操作。因此第 3个错误处必须指明同步的对象,本题中的同步对象是当前的 Counter实例。运行结果如下图所示。

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