1、国家二级( JAVA)机试模拟试卷 60及答案与解析 一、基本操作题( 30分) 1 请在下面程序中的每条横线处填写一个语句,使程序的功能完整。程序的输出结果为: TIME=1867 b=9 i=123 注意:请勿改动 main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。 源程序文件代码清单如下: import java.io.*; public class DataType public _ void main(String args) byte b; int i;/定义变量 i为 int类型 _/定义常量 TIME为整型,且值为 1867 i=123; /给变量 i赋值,该值
2、为十进制的 123 _/给变量赋值,改值为八进制的 11,十进制的 9 System.out.println(“TIME“+TIME); System.out.println(“b=“+b); System.out.println(“i=“+i); 二、简单应用题( 40分) 2 请完成下列 Java程序:记录鼠标在窗口中的信息,包括鼠标的移动事件以及鼠标在窗口中的位置坐标,要求在窗口下方显示鼠标的事件和位置信息,在窗口上方有按钮控制程序的正常退出。 注意:请勿改动 main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。 源程序文件代码清单如下: import java.awt.*
3、; import java.awt.event.*; public class ex12_2 extends Frame implements MouseMotionListener, ActionListener private Label 1; private String str=“ “; public static void main(String args) new ex12_2(); ex12_2( ) _; setSize(200,200); Button btn=new Button(“exit“); btn.addActionListener (this); add (btn
4、, “North“ ); l=new Label(str); add (l, “South“ ); show (); public void mouseMoved(MouseEvent event) str=“Move: “+ l. setText (str); public void mouseDragged(MouseEvent event) public void actionPerformed(ActionEvent event) if(event.getActionCommand().equals(“exit“) System.exit(0); 三、综合应用题( 30分) 3 下面是
5、一个 Applet程序,其功能是用一组坐标点绘制一个多边形,并通过沿坐标的垂直方向移动,把它移到窗口的下半部分,然后填充它。请改正程序中的错误(有下划线的语句 ),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 源程序文件清单如下: import java.awt.*; import java.applet.*; /* applet code=“ex11_3.class“ width=800 height=400 /applet */ public class ex11_3 extends Applet int x = 15,50,100,160,120,190; int
6、y = 15,100,30, 15, 80, 50; public void init() setBackground(Color.lightGray); public void paint(Graphics g) int y2 = new int6; g.setColor(Color.red); Rectangle rect = getBounds(); g.drawPolygon(x, y2,6); for(int i=0; i 6; i+) y2i = yi + (rect.height / 2); g.fillPolygon(x,y, 6); ex11_3.html HTML HEAD
7、 TITLE ex11_3 /TITLE /HEAD BODY applet code=“ex11_3.class“ width=800 height=400 /applet /BODY /HTML 国家二级( JAVA)机试模拟试卷 60答案与解析 一、基本操作题( 30分) 1 【正确答案】 static final int TIME=1867 b=011 【试题解 析】 本题主要考查 main()主方法的使用以及如何定义常量。 static修饰符是说明 main()方法是静态方法, final int TIME=1867语句的功能是定义一个整型的常量 TIME,并且其值为 1867, b
8、=011语句是给变量 b赋值为八进制的 11,十进制的 9。 二、简单应用题( 40分) 2 【正确答案】 addMouseMotionListener(this) event.getPoint() 【试题解析】 本题主要考查鼠标移动事件监听和基本的 AWT构件。解题关键是熟悉鼠标移动事件监听器的注册 ,和对鼠标移动事件的处理。本题中,第 1个空,注册鼠标移动事件的监听器,注意参数是 this,表示在当前运行的对象中注册该监听器:第 2个空,通过调用 MouseEvent的 getPoint()方法获得鼠标的坐标信息。程序运行结果如下。 三、综合应用题( 30分) 3 【正确答案】 g.dra
9、wPolygon(x, y, 6) y2i+=yi+(rect.height/2) g.fillPolygon(x, y2, 6) 【试题解析】 本题主要考查 Applet窗口编程和图形绘制的综合应用。解题关键是熟 悉上述考点的基本要求,使用 Graphics类的 drawPolygon()和 fillPolygon()方法绘制任意形状的图形,并且能结合数组进行编程实现。本题中第 1处,第 2个参数应该是 y,而不是 y2, y2还没有初始化;第 2处,注意 y2数组中的值是需要进行累加的,因此需要使用符号 +=;第 3处, fillPolygon()方法的第 2个参数应该是 y2,绘制新的图形并填充,若是 y则不能绘制新的图形。