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