1、国家二级( JAVA)机试模拟试卷 19及答案与解析 一、基本操作题( 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赋值,该值为十进制的 123 _/给变
2、量赋值,改值为,八进制的11,十进制的 9 System out println(“TIME”+TIME); System out println(“b=“+b); System out println(“i=“+i); 二、简单应用题( 40分) 2 请完成下列 Java程序。程序的执行结果是生成一个具有一个 TextField类型的对象 in、 But ton类型的对象 btn和 Label类型的对象 out图形用户界面,程序的功能是计算用户输入数的平方。 注意:请勿改动 main()主方法和其他已有的语句内容,仅在下画线处填人适当的语句。 import java.awt.*; impor
3、t java.awt.event.*; public class PingFangShu public static void main(String args) _ class AppFrame extends Frame TheAdapterTest listener=new TheAdapterTest(); TextField in=new TextField(5); Button btn=new Button(“计算 “); Label out=new Label(“显示计算结果 “); public AppFrame() setLayout(new FlowLayout(); ad
4、d(in); add(btn); add(out); btn.addActionListener(new BtnActionAdapter(); addWindowListener(listener); setSize(400, 100); show(); class BtnActionAdapter implements ActionListener public void actionPerformed(ActionEvent e) String s=in.getText(); double d=_ double sq=d*d; out.setText(d+“的平方是: “+sq); cl
5、ass TheAdapterTest extends WindowAdapter public void windowClosing(WindowEvent e) System.exit(1); 三、综合应用题( 30分) 3 下面是一个 Applet程序,其功能是用一组坐标点绘制一个多边形,并通过沿坐标的垂直方向移动,把它移到窗口的下半部分,然后填充它。请改正程序中的错误(有下划线的语句 ),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果如下: import java.awt.*; import java.applet.*; /* applet code=“
6、ex20_3.class“ width=800 height=400 /applet */ public class ex20_3 extends Applet int x = 15,50,100,160,120,190 ; int 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();
7、 g.drawPolygon(x,y2,6); for(int i=0; i 6; i+) y2i = yi + (rect.height / 2); g.fillPolygon(x,y,6); ex20_3.html HTML HEAD TITLE ex20_3/TITLE /HEAD BODY applet code=“ex20 3.class“ width=800 height=400 /applet /BODY /HTML 国家二级( JAVA)机试模拟试卷 19答案与解析 一、基本操作题( 30分) 1 【正确答案】 Static final int TIME=1867; b=011
8、; 【试题解析】 本题主要考查 main()主方法的使用以及如何定义常量。 static修饰符是说明 main()方法是静态方法, final int TIME=1867;语句的功能是定义一个整型的常量 TIME,并且其值为 1867, b=011;语句是给变量 b赋值为八进制的11,十进制的 9。 二、简单应用题( 40分) 2 【正 确答案】 new AppFrame(); Double.parseDouble(s); 三、综合应用题( 30分) 3 【正确答案】 g drawPolygon(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则不能绘制新的图形。