1、二级 JAVA 机试-96 及答案解析(总分:100.00,做题时间:90 分钟)一、1基本操作题(总题数:1,分数:30.00)1.下面的程序的功能是求 1100 的奇数的和及该和的平均值。请在程序的每条横线处填写一个语句,使程序的功能完整。注意:请勿改动 main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。public class SumAndAvepublic static void main(String args)int count = 0, sum = 0, ave= 0;for (int i = 1; i= 100; _)if(_)continue;else_sum
2、=sum+i;ave= sum/count;System.out.println( “sum=“+sum);System.out.println( “ave=“+ave);(分数:30.00)_二、2简单应用题(总题数:1,分数:40.00)2.请完成下列 Java 程序:用 JFrame 建立一个窗口,再用网格布局管理器,对窗口布局进行控制,上面有2 行 2 列 4 个按钮,要求对按钮的大小进行设定,宽度为 150,高度为 80。注意:请勿改动 main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。import java. awt. *import java. awt. even
3、t. *import javax, swing. *public class ex2_1public static void main(String args) JFrame frm = new JFrame.( )frm. setTitle( “ex2_1“)Container cont = frm. getContentPane( )_;cont. add(new JButton( “button1“) )cont. add(new JButton( “button2“) )Dimension dimen= _;JButton btnl = new JButton( “button3“ )
4、btnl. setpreferredSize(dimen);cont. add(btn1);cont. add(new JButton(“button4“) );frm. addWindowListener (new WindowAdapter ( ) public void windowClosing (WindowEvent we)System. exit(0);frm. pack()frm. setVisible(true);(分数:40.00)_三、3综合应用题(总题数:1,分数:30.00)3.下面是一个 Applet 程序,其功能是接收用户输入的两个整数,比较它们的大小,并在用户按
5、下“比较大小”按钮后,将 Applet 中显示的“请先输入两个待比较的整数”,改为“两个整数中最大值是:x”,x 是两个数中的最大值。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。import java. applet. *;import java. awt. *import java. awt. event. *;/*applet code= LookForMax width= 800 height= 400/applet*/public class LookForMax extends Applet implements Action
6、ListenerLabel result;TextField in1,in2Button btn;int a=0,b=0,max=0;public void init()result=new Label( “请先输入两个待比较的整数“);in1 = new TextField(5);in2 = new TextField (5)btn = new Button(“比较大小“);add(in1);add(in2)add(btn)add(result)btn. addActionListener(super)public void actionPerformed(ActionEvent e)a=I
7、nteger. parseInt(in1);b=Integer. parselnt(in2);if (ab)max=a;elsemax=b;result . setText(“两个数中最大值是: “+max);LookFormax. html;htmlheadtitleA Simple Program/title/headbodyapplet code=“LookForMax, class“ width 800 height=400/applet/body/html(分数:30.00)_二级 JAVA 机试-96 答案解析(总分:100.00,做题时间:90 分钟)一、1基本操作题(总题数:1
8、,分数:30.00)1.下面的程序的功能是求 1100 的奇数的和及该和的平均值。请在程序的每条横线处填写一个语句,使程序的功能完整。注意:请勿改动 main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。public class SumAndAvepublic static void main(String args)int count = 0, sum = 0, ave= 0;for (int i = 1; i= 100; _)if(_)continue;else_sum=sum+i;ave= sum/count;System.out.println( “sum=“+sum);S
9、ystem.out.println( “ave=“+ave);(分数:30.00)_正确答案:(i+=2i2=0+count;)解析:解析 本题主要考查 for 循环语句的用法。在本题中,for(int i=1;i=100;i+=2;)语句是用来控制被求的奇数,i+=2;语句是使循环变量递增 2,即所求的奇数,如果该数不为奇数,即 if (i2=0),continue,跳过循环体余下的语句,对 for 语句的“表达式 3”即 i+=2 求值;如果该数为奇数,用 count 计数器记录所求奇数的个数。二、2简单应用题(总题数:1,分数:40.00)2.请完成下列 Java 程序:用 JFrame
10、 建立一个窗口,再用网格布局管理器,对窗口布局进行控制,上面有2 行 2 列 4 个按钮,要求对按钮的大小进行设定,宽度为 150,高度为 80。注意:请勿改动 main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。import java. awt. *import java. awt. event. *import javax, swing. *public class ex2_1public static void main(String args) JFrame frm = new JFrame.( )frm. setTitle( “ex2_1“)Container cont
11、 = frm. getContentPane( )_;cont. add(new JButton( “button1“) )cont. add(new JButton( “button2“) )Dimension dimen= _;JButton btnl = new JButton( “button3“ )btnl. setpreferredSize(dimen);cont. add(btn1);cont. add(new JButton(“button4“) );frm. addWindowListener (new WindowAdapter ( ) public void window
12、Closing (WindowEvent we)System. exit(0);frm. pack()frm. setVisible(true);(分数:40.00)_正确答案:(contsetLayout(newGridLayout(2,2)new Dimension(150,80)解析:解析 本题主要考查网格布局管理器(GridLayout)在使用 swing 制作图形用户界面时的一些简单应用。解题关键是熟悉 GridLayout 的使用方法,初始化的方法是通过容器 Container 的对象调用setLayout()方法实现的,而它的一些特点,如并不会保持当初组件所定义的大小等,也需要很
13、熟悉。本题中,第 1 个空,将容器通过网格布局管理器设置为 2 行 2 列;第 2 个空,采用初始化 Dimension 类的对象来给出 Button 组件的初始大小:参数分别是宽度和高度。三、3综合应用题(总题数:1,分数:30.00)3.下面是一个 Applet 程序,其功能是接收用户输入的两个整数,比较它们的大小,并在用户按下“比较大小”按钮后,将 Applet 中显示的“请先输入两个待比较的整数”,改为“两个整数中最大值是:x”,x 是两个数中的最大值。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。import java. app
14、let. *;import java. awt. *import java. awt. event. *;/*applet code= LookForMax width= 800 height= 400/applet*/public class LookForMax extends Applet implements ActionListenerLabel result;TextField in1,in2Button btn;int a=0,b=0,max=0;public void init()result=new Label( “请先输入两个待比较的整数“);in1 = new TextF
15、ield(5);in2 = new TextField (5)btn = new Button(“比较大小“);add(in1);add(in2)add(btn)add(result)btn. addActionListener(super)public void actionPerformed(ActionEvent e)a=Integer. parseInt(in1);b=Integer. parselnt(in2);if (ab)max=a;elsemax=b;result . setText(“两个数中最大值是: “+max);LookFormax. html;htmlheadtitl
16、eA Simple Program/title/headbodyapplet code=“LookForMax, class“ width 800 height=400/applet/body/html(分数:30.00)_正确答案:(thisin1getText()in2getText()解析:解析 本题主要考查 Java Applet 程序的编写、javaawt 包的基本组件的使用及 super 和 this关键字的使用。Applet(小程序)是一种很重要的 Java 程序,是工作在 Internet 的浏览器上或借助 JDK中的 appletviewer 来工作的 Java 程序。编写
17、Applet 小程序必须要用到 javaapplet 包中的 Applet 类。javaappletApplet 是 javaawtPanel 的子类。在本题中,public class LookForMax extends Applet implements ActionListener 语句的功能是声明一个继承 Applet 类且实现 ActionListener 接口的类 LookForMax 来实现程序功能,btnaddActionListener(this);语句的功能是为按钮 btn 对象注册一个事件监听器 this(this 是指当前LookForMax 的对象),a=IntegerparseInt (in 1getText();和 b=IntegerparseInt(in 2getText();语句的功能是把从文本框 in1 和 in2 获得的字符型数据转换成基本整型数据,并把这两个值分别赋给变量 a 和 b。