1、二级 JAVA机试 6及答案解析(总分:100.00,做题时间:90 分钟)一、B1基本操作题/B(总题数:1,分数:30.00)1.下面程序执行结果为: 11=1 21=2 22=4 31=3 32=6 33=9 91=9 92=18 93=27 94=36 95=45 96=54 97=63 98=72 99=81 请在每条横线处填写一个语句,使程序的功能完整。注意:请勿改动 main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。 public class ForLoopStatement public static void main(String args) int m,n
2、; for(m=1;m10;_) _; System.out.print(m+ “*“ + n + “=“ + m * n + “ “ ); _ (分数:30.00)_二、B2简单应用题/B(总题数:1,分数:40.00)2.请完成下列 Java程序:用 JFrame建立一个窗口,再用网格布局管理器,对窗口布局进行控制,上面有2行 2列 4个按钮,要求对按钮的大小进行设定,宽度为 150,高度为 80。 注意:请勿改动 main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。 程序运行结果如下: (分数:40.00)_三、B3综合应用题/B(总题数:1,分数:30.00)3.下面是一
3、个 Applet程序,其功能是实现网页上的电子时钟,要求显示的格式为 hh:mm:ss 如02:04:50。提示:通过获取当前系统时间来实现。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果如下: (分数:30.00)_二级 JAVA机试 6答案解析(总分:100.00,做题时间:90 分钟)一、B1基本操作题/B(总题数:1,分数:30.00)1.下面程序执行结果为: 11=1 21=2 22=4 31=3 32=6 33=9 91=9 92=18 93=27 94=36 95=45 96=54 97=63 98=72 9
4、9=81 请在每条横线处填写一个语句,使程序的功能完整。注意:请勿改动 main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。 public class ForLoopStatement public static void main(String args) int m,n; for(m=1;m10;_) _; System.out.print(m+ “*“ + n + “=“ + m * n + “ “ ); _ (分数:30.00)_正确答案:()解析:m+ for(n=1;n=m;n+) System.out.println(); 解析 本题考查 Java的循环语句。一个循
5、环语句一般应包含 4部分内容:(1)初始化部分:用来设置循环控制的一些初始条件,如设置计数器等。(2)循环体部分:这是反复执行的一段代码,可以是单一的一条语句,也可以是复合语句(代码块)。(3)迭代部分:用来修改循环控制条件。常常在本次循环结束,下一次循环开始前执行。例如,使计数器递增或递减。(4)判断部分:也称终止部分。是一个关系表达式或布尔逻辑表达式,其值用来判断是否满足循环终止条件。每执行一次循环都要对该表达式求值。解答循环语句题要抓住这四个部分。本题中 m+;语句是循环标量的递增 1,第一个 for(m=1;m10;m+)循环语句是用来控制乘法表的行输出,第二个for(n=1;n=m;
6、n+)循环语句是用来控制乘法表的列输出;语句 system.out.prinln();是用来换行输出。二、B2简单应用题/B(总题数:1,分数:40.00)2.请完成下列 Java程序:用 JFrame建立一个窗口,再用网格布局管理器,对窗口布局进行控制,上面有2行 2列 4个按钮,要求对按钮的大小进行设定,宽度为 150,高度为 80。 注意:请勿改动 main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。 程序运行结果如下: (分数:40.00)_正确答案:()解析:cont.setLayout(new GridLayout(2,2) new Dimension(150,80)
7、 解析 本题主要考查网格布局管理器(GridLayout)在使用 swing制作图形用户界面时的一些简单应用。解题关键是熟悉 GridLayout的使用方法,初始化的方法是通过容器 Container的对象调用 setLayout()方法实现的,而它的一些特点,如并不会保持当初组件所定义的大小等,也需要很熟悉。本题中,第 1个空,采用初始化 Dimension类的对象来给出 Button组件的初始大小:参数分别是宽度和高度;第 2个空,将容器通过网格布局管理器设置为 2行 2列。三、B3综合应用题/B(总题数:1,分数:30.00)3.下面是一个 Applet程序,其功能是实现网页上的电子时钟
8、,要求显示的格式为 hh:mm:ss 如02:04:50。提示:通过获取当前系统时间来实现。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果如下: (分数:30.00)_正确答案:()解析:StrTime = strTime + “0“ + tMin + “:“ strTime = StrTime + “0“ + tSec new Thread(this) 解析 本题主要考查 Java多线程与 Applet的图形绘制相结合解决实际问题的综合应用。解题关键是熟悉 Java多线程的程序设计思想,必须在程序中编写线程类内 start(),stop()和 run()方法的相关程序,利用线程类的 sleep()方法,让每次显示的时间延迟 1秒,使电子时钟看起来像是每一秒跳动一次的样子,同时还要熟悉 Data类的 getHours()等方法获得时间。本题中,包含 2 个线程,一个是程序中 Runnable得到的线程,另一个是程序本身。第 1处和第 2处错误相似,一个是在不足 10的小时数的前一位补上“0”,如 tHour=9,则显示出来的应该是“09”;第三处,用 Thread类的构造方法创建新的线程时,需要把 this作为参数传递给新的线程,否则程序不会动态执行。