1、二级 JAVA 机试 32 及答案解析(总分:100.00,做题时间:90 分钟)一、B1基本操作题/B(总题数:1,分数:30.00)1.下面的程序是求菲波那契(Fibonacci)数列的前 10 项。已知该数列的前两项都为 1,即 F(1)=1,F(2)=1;而后面各项满足: F(n)=F(n-1)+F(n-2)。请在程序的每条横线处填写一条语句,使程序的功能完整。注意:请勿改动 main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。 public class Fibonacci public static void main(String args) System.out.p
2、rinttn(“Fibonacci is“+“ “+“_); static long fib(int n) if(_) return 1; else return _ (分数:30.00)_二、B2简单应用题/B(总题数:1,分数:40.00)2.请完成下列 Java 程序:制作一个图形用户界面,上方包含一个 TextField 和 Button 构件,实现输入字符串,点击 Button 获取文本区的字符:中间显示 Label 的内容:下方是 4 个按钮,分别实现控制 Label在最左边,在中间,在右边和退出程序的功能。 注意:请勿改动 main()主方法和其他已有语句内容,仅在下划线处填入适
3、当的语句。 程序运行结果如下: (分数:40.00)_三、B3综合应用题/B(总题数:1,分数:30.00)3.下面是一个 Applet 程序,其功能是捕捉用户所按下的键,并将捕捉到的键时间,传给程序,程序再将所按下的字符显示在 Applet 中。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果如下: (分数:30.00)_二级 JAVA 机试 32 答案解析(总分:100.00,做题时间:90 分钟)一、B1基本操作题/B(总题数:1,分数:30.00)1.下面的程序是求菲波那契(Fibonacci)数列的前 10 项。已
4、知该数列的前两项都为 1,即 F(1)=1,F(2)=1;而后面各项满足: F(n)=F(n-1)+F(n-2)。请在程序的每条横线处填写一条语句,使程序的功能完整。注意:请勿改动 main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。 public class Fibonacci public static void main(String args) System.out.printtn(“Fibonacci is“+“ “+“_); static long fib(int n) if(_) return 1; else return _ (分数:30.00)_正确答案:()解
5、析:fib(10) n=0|n=1 fib(n-1)+fib(n-2); 解析 本题主要考查递归算法。解答本题的关键是理解递归算法的思想。在本题中,fib(10)方法是计算含由 10 项的菲波那契 (Fibonacci)数列,而 fib(n-1)+fib(n-2);是用来计算第 0 项和第 1 项以外的菲波那契(Fibonacci)数列。二、B2简单应用题/B(总题数:1,分数:40.00)2.请完成下列 Java 程序:制作一个图形用户界面,上方包含一个 TextField 和 Button 构件,实现输入字符串,点击 Button 获取文本区的字符:中间显示 Label 的内容:下方是 4
6、 个按钮,分别实现控制 Label在最左边,在中间,在右边和退出程序的功能。 注意:请勿改动 main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。 程序运行结果如下: (分数:40.00)_正确答案:()解析:add(”South”,p) 1setAlignment(LabelLEFT) 解析 本题主要考查 AWT 基本构件Button,Pane,Label 和 TextField 结合的简单应用。解题关键是熟悉这几种基本构件一般用法,会设置Label 在窗口中的位置。本题中,第 1 个空,将面板构件放在窗口的最下方;第 2 个空,根据 Button 事件调用 1 对象的 set
7、Alignment()方法,设置 Label 在面板中的位置。三、B3综合应用题/B(总题数:1,分数:30.00)3.下面是一个 Applet 程序,其功能是捕捉用户所按下的键,并将捕捉到的键时间,传给程序,程序再将所按下的字符显示在 Applet 中。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果如下: (分数:30.00)_正确答案:()解析:Applet str1=“Character:“+ (char)n str1=“Character:“+ (char)n 解析 本题主要考查Applet 窗口中的键盘事件捕捉,以及基本的 Applet 显示。解题关键是熟悉 Applet 窗口的基本操作和键盘事件的一般应用。本题中,第一处,错在误用了 JApplet 这里应该是继承 Applet 类,而不是JApplet:第二和第三处错误相同,虽然用 String 类的 valueOf()方法在编译的时候不会出错,但是这样显示出来的结果是 int 类型的 n,而题中要求输出的是这个键对应的字符,因此用将 int 类型转化为 char类型。