欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

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

    • 资源ID:503601       资源大小:64KB        全文页数:7页
    • 资源格式: DOC        下载积分:2000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要2000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    [计算机类试卷]国家二级(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实例。运行结果如下图所示。


    注意事项

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

    收起
    展开