1、国家二级( JAVA)机试模拟试卷 58及答案与解析 一、基本操作题( 30分) 1 下列程序中,给出两个整数 2和 3,分别求 2除以 3和 2乘以 3的结果,要求调用类 ex19_1的方法 method()来输出相应的结果,请将程序补充完整。程序运行结果如下。 0.6666666666666666 6 源程序文件代码清单如下: public class exl9 1 public static void main(String args) int n1=2,n2=3; ex19_1 obj19_1=new ex19_1(); obj19_1. public void method(int
2、x,int y) System.out.println(_); System.out.println(_); 二、简单应用题( 40分) 2 请完成下列 Java程序:建立一个 Applet程序,包括创建一个画布构件、一个面板构件,面板构件上包含 3个按钮,用来设置画布和面板的背景颜色,这 3个按钮(Red、 Green、 Blue)分别控制画布和面板背景色改变为 3原色,即红、绿、蓝。要求画布宽度为 300,高度为 200。 注意:请勿改动 main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。 源程序文件代码清单如下: import java.awt.*; import jav
3、a.applet.*; /* applet code=“ex10_2.class“ width=800 height=400 /applet */ public class ex10_2 extends Applet private Panel pane110_2; private Canvas canvas10_2; private Button btn1, btn2, btn3; public void init() canvas10_2=new Canvas(); canvas10_2. _; canvas10_2.setBackground(Color.black); add(canv
4、as10_2); pane110_2 = new Panel(); pane110_2.setBackground( Color.black ); btn1 = new Button( “Red“ ); btn2 = new Button( “Green“ ); btn3 = new Button( “Blue“ ); pane110_2.add( btn1 ); pane110_2.add( btn2 ); pane110_2.add( btn3 ); _; public boolean action( Event e, Object o ) if( e.target = btn1 ) pa
5、ne110_2.setBackground( Color.red ); canvas10_2.setBackground( Color.red ); else if( e.target = btn2 ) pane110_2.setBackground( Color.green ); canvas10_2.setBackground(Color.green); else if( e.target = btn3 ) canvas10_2.setBackground( Color.blue ); pane110_2.setBackground( Color.blue ); return true;
6、三、综合应用题( 30分) 3 下面是一个 Applet程序,实现实心或者空心矩形的绘制。要求鼠标在 Applet窗口中拖动实现矩形的绘制,可以选择填充或者空心,按钮用来清空窗口中的图像。请改正程序中的错误 (有下划线的语句 ),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 源程序代码文件清单如下: import java.awt.*; import java.applet.*; /* applet code=“ex16_3.class“ width=800 height=400 /applet */ public class ex16_3 extends Applet
7、private Button btnClear; private CheckboxGroup cbg; private Checkbox chk1, chk2; private int upX, upY; private int downX, downY; private boolean bDraw, bClear, bStyle; public void init() bDraw = false; bClear = false; bStyle = false; setLayout(null); cbg = new CheckboxGroup(); chk1 = new Checkbox(“H
8、ollow“, cbg, true); chk2 = new Checkbox(“Filled“, cbg, false); chk1.reshape(80,getSize().height-80,80,25); chk2.reshape(160,getSize().height-80,80,25); add(chk1); add(chk2); btnClear = new Button(“ctear“); btnClear.reshape(240,getSize().height-80,80,25); add(btnClear); public void paint(Graphics g)
9、if (bDraw) if(upX downX else g.drawRect(downX, downY, upX-downX, upY-downY); else if(upX downX else g.drawRect(downX, upY, upX - downX, downY - upY); else if(upX downX else g.drawRect(upX, downY, downX-upX, upY-downY); else if(upX downX else g.drawRect(upX, upY, downX-upX, downY-upY); bDraw = false;
10、 if (bClear) g.clearRect(0,0, getSize().height, getSize().width); bClear = false; public void update(Graphics g) paint(g); public boolean mouseUp(Event e, int x, int y) upX=x; upY=y; bDraw=true; repaint(); return true; public boolean mouseDown(Event e, int x, int y) downX=x; downY=y; return true; pu
11、blic boolean action(Event e, Object o) if(e.target=btnClear) bClear=true; repaint(); if(chk1.getState()=true) bStyle=true; if(chk2.getState()=true) bStyle=false; return true; ex9_3.html HTML HEAD TITLE ex9_3 /TITLE /HEAD BODY applet code=“ex9_3.class“ width=800 height=400 /applet /BODY /HTML 国家二级( J
12、AVA)机试模拟试卷 58答案与解析 一、基本操作题( 30分) 1 【正确答案】 method(n1, n2) (double)x/y x*y 【试题解析 】 本题主要考查 Java语言的数据类型和结构以及不同数据类型之间的转换,和对象调用方法以及基本的运算操作。解题关键是熟悉 Java语言的基本数据类型和类型之间的转换,用类的对象来调用方法,以及熟悉 Java语言的基本运算。在本题中,第 1空通过类 ex19_1的对象 obj19_1调用类 ex19_1的方法 method(),将变量 n1和 n2作为参数传递给方法。第 2空由于 x、 y都是 int型,则 x/y的结果为 0.666 ,
13、这会转换为 int型,其值为 0。所以要对数据进行类型转换,将 x转换为 double型则 y也转换为 double型,因此结果为 double型,值为0.666 。第 3空无须做类型转换,直接输出 x*y的值 6即可。 二、简单应用题( 40分) 2 【正确答案】 resize(300, 200) add(pane110_2) 【试题解析】 本题主要考查画布构件、面板构件和按钮构件的使用,以及Applet程序中的事件处理。解题关键是熟悉上述几种构件的创建和使用,能在Applet窗口中控制构件的布局,同时还要熟悉 Java的事件处理机制。本题中,第1个空,要根据题目要求对画布构件的大小进行初始
14、化,调用 resize()方法实现;第 2个空,此空之前的语句只是把 Button构件放入了 Panel构件中,还需要将Panel构件放入整个应用程序中。 三、综合应用题( 30分) 3 【正确答案】 g.clearRect(0, 0, getSize() width, gets ize() height) bStyle=false bStyle=true 【试题解析】 本题主要考查 Applet图形界面编程与鼠标事件相结合进行简单的图形绘制。解题关键是熟悉 Applet中的事件机制,会利用鼠标事件进行简单的矩形绘制,通过 mouseUp(), mouseDown()来获取鼠标移动的坐标,熟悉 CheckboxGroup类 Checkbox的用法,通过 Checkbox来控制矩形是否填充。本题中,第 1个空,对象 g的方法 clearRect()的最后两个参数应该对调,因为第 3个参数是代表矩形的宽度,第 4个是高度;第 2个空,第 1个 Checkbox不用填充,这里 bStyle=false是表示用填充;第 3个空,和第 2个空正好相反。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1