1、二级 JAVA机试 40及答案解析(总分:100.00,做题时间:90 分钟)一、B1基本操作题/B(总题数:1,分数:30.00)1.下面的程序的功能是求 1100 的奇数的和及该和的平均值。请在程序的每条横线处填写一个语句,使程序的功能完整。 注意:请勿改动 main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。 public class SumAndAve public static void main(String args) int count = 0, sum = 0, ave= 0; for (int i = 1; i= 100; _) if(_) continue;
2、 else _ sum=sum+i; ave= sum/count; System.out.println( “sum=“+sum); System.out.println( “ave=“+ave); (分数:30.00)_二、B2简单应用题/B(总题数:1,分数:40.00)2.请完成下列 Java程序:用 JFrame建立一个窗口,再用网格布局管理器,对窗口布局进行控制,上面有2行 2列 4个按钮,要求对按钮的大小进行设定,宽度为 150,高度为 80。 注意:请勿改动 main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。 import java. awt. * import
3、 java. awt. event. * import javax, swing. * public class ex2_1 public 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
4、= new JButton( “button3“ ) 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)_三、B3综合应用题/B(总题数:1,分数:30.00)3.下面是一个
5、Applet程序,其功能是接收用户输入的两个整数,比较它们的大小,并在用户按下“比较大小”按钮后,将 Applet中显示的“请先输入两个待比较的整数”,改为“两个整数中最大值是:x”,x是两个数中的最大值。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 import java. applet. *; import java. awt. * import java. awt. event. *; /* applet code= LookForMax width= 800 height= 400 /applet */ public clas
6、s LookForMax extends Applet implements ActionListener Label result; TextField in1,in2 Button 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. addActionL
7、istener(Usuper/U) public void actionPerformed(ActionEvent e) a=Integer. parseInt(Uin1/U); b=Integer. parselnt(Uin2/U); if (ab) max=a; else max=b; result . setText(“两个数中最大值是: “+max); LookFormax. html; html head titleA Simple Program/title /head body applet code=“LookForMax, class“ width 800 height=40
8、0 /applet /body /html(分数:30.00)_二级 JAVA机试 40答案解析(总分:100.00,做题时间:90 分钟)一、B1基本操作题/B(总题数:1,分数:30.00)1.下面的程序的功能是求 1100 的奇数的和及该和的平均值。请在程序的每条横线处填写一个语句,使程序的功能完整。 注意:请勿改动 main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。 public class SumAndAve public static void main(String args) int count = 0, sum = 0, ave= 0; for (int i
9、= 1; i= 100; _) if(_) continue; else _ sum=sum+i; ave= sum/count; System.out.println( “sum=“+sum); System.out.println( “ave=“+ave); (分数:30.00)_正确答案:()解析:i+=2 i2=0 +count; 解析 本题主要考查 for循环语句的用法。在本题中,for(int i=1;i=100;i+=2;)语句是用来控制被求的奇数,i+=2;语句是使循环变量递增 2,即所求的奇数,如果该数不为奇数,即 if (i2=0),continue,跳过循环体余下的语句,
10、对 for语句的“表达式 3”即 i+=2求值;如果该数为奇数,用 count计数器记录所求奇数的个数。二、B2简单应用题/B(总题数:1,分数:40.00)2.请完成下列 Java程序:用 JFrame建立一个窗口,再用网格布局管理器,对窗口布局进行控制,上面有2行 2列 4个按钮,要求对按钮的大小进行设定,宽度为 150,高度为 80。 注意:请勿改动 main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。 import java. awt. * import java. awt. event. * import javax, swing. * public class ex2
11、_1 public 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“ ) btnl. setpreferredSize(dimen); co
12、nt. 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)_正确答案:()解析:contsetLayout(newGridLayout(2,2) new Dimension(150,80) 解析 本题主要考查网格布局管理器(GridLayout)在使
13、用 swing制作图形用户界面时的一些简单应用。解题关键是熟悉 GridLayout的使用方法,初始化的方法是通过容器 Container的对象调用 setLayout()方法实现的,而它的一些特点,如并不会保持当初组件所定义的大小等,也需要很熟悉。本题中,第 1个空,将容器通过网格布局管理器设置为 2行 2列;第 2个空,采用初始化 Dimension类的对象来给出 Button组件的初始大小:参数分别是宽度和高度。三、B3综合应用题/B(总题数:1,分数:30.00)3.下面是一个 Applet程序,其功能是接收用户输入的两个整数,比较它们的大小,并在用户按下“比较大小”按钮后,将 App
14、let中显示的“请先输入两个待比较的整数”,改为“两个整数中最大值是: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 ActionListener
15、Label result; TextField in1,in2 Button 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(Usuper/U) public void actionPerformed(ActionEv
16、ent e) a=Integer. parseInt(Uin1/U); b=Integer. parselnt(Uin2/U); if (ab) max=a; else max=b; result . setText(“两个数中最大值是: “+max); LookFormax. html; html head titleA Simple Program/title /head body applet code=“LookForMax, class“ width 800 height=400 /applet /body /html(分数:30.00)_正确答案:()解析:this in1getT
17、ext() in2getText() 解析 本题主要考查 Java Applet程序的编写、javaawt 包的基本组件的使用及 super和 this关键字的使用。Applet(小程序)是一种很重要的 Java 程序,是工作在 Internet的浏览器上或借助 JDK 中的 appletviewer来工作的 Java程序。编写 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。