1、软件水平考试(初级)程序员下午(应用技术)模拟试卷 50 及答案与解析 1 如果公司内网 PC 不能从 DHCP 服务器获取 IP 地址,则首先应该检查 (5) ;若在PC中使用 ping 命令分别查询 “sinA. com. cn”和其对应的 IP 地址 61.172.201.194 所得结果如图 3-3所示,则应该检查 (6) ;若所有 PC通过 DHCP服务正确获取了 IP地址,但均无法访问 Internet,则应该检查 (7) 。 (5) (7)备选答案: A. 外网的连通性 B. 内网的连通性 C. DNS服务器的配置是否正确2 阅读下列说明和 C代码,将应填入 (n)处的字句写在对
2、应栏内。 【说明】 本题给出四个函数,它们的功能分别是: 1 int push(PNODE*top, int e)是进栈函数,形参 top是栈顶指针的指针,形参 e是入栈元素。 2 int pop(PNODE*top, int*e)是出栈函数,形参 top是栈顶指针的指针,形参 e作为返回出栈元素使用。 3 int enQueue(PNODE*tail, int e)是入队函数,形参 tail是队尾指针的指针,形参 e是入队元素。 4 int deQueue(PNODE*tail, int*e)是出队函数,形参 tail是队尾指针的指针,形参 e作为返回出队元素使用。 以上四个函数中,返回值为
3、。表示操作成功,返回值为 -1表示操作失败。 栈是用链表实现的;队是用带有辅助结点 (头结点 )的单向循环链表实现的。两种链表的结点类型均为: typedef struct node int value; struct node * next; NODE, * PNODE; 【函数 1】 int push(PNOOE * top,int e) PNODE p = (PNODE) malloc (sizeof (NODE); if (! p) return-1; p- value=e; (1); *top=p; return 0; 【函数 2】 int pop (PNODE * top,int
4、* e) PNODE p = * top; if(p = NULL) return-1; * e = p- value; (2); free(p); return 0; 【函数 3】 int enQueue (PNODE * tail,int e) PNODE p,t; t= *tail; p = (PNODE) malloc(sizeof(NODE); if(!p) return-1; p- value=e; p- next=t- next; (3); * tail = p; return 0; 【函数 4】 int deQueue(PNODE * tail,int * e) PNODE p
5、,q; if( * tail)- next = * tail) return-1; p= (* tail)- next; q = p - next; * e =q - value; (4)=q- next; if(,tail=q) (5); free(q); return 0; 3 阅读以下应用程序说明和 C程序,将 C程序段中 (1) (7)空缺处的语句填写完整。 【说明】 以下【 C程序】能将自然数 1, 2, , N2按蛇形方式逐个存入 N阶矩阵。换言之,程序从 anO开始到 aOn。为止 (n=N-1)顺序填入自然数,交替地对每一斜列从左上元素向右下元素或从右下元素向左上元素存数。 例
6、如,当 N=5时,程序输出结果如图 2-12所示;当 N=8时,程序输出结果如图 2-13所示。 【 C程序】 #include stdio.h #define SIZE 10int aSIZESIZE, k;main() int i, j, n, N; for (N = 3; N =SIZE; N+) k = 1; makeArray (n = N-1); printf (“nN = %d;n“, n+1); for (i = 0; i =n; i+) for (j = 0; j =n; j+) printf(“%4d“, ai j); printf (“n“); makeline (int
7、 row_start, int col_start, int row end) /*完成矩阵一条斜线的整数填写 */ int i, j, sign =(1); for (i = row_start, j = col start;(2); i += sign, j += sign) ai j = k+;makeArray (int n) /*完成矩阵每条斜线的整数填写 */ int d; for (d = 1; d =(3); d+) if (d = n) if (d%2) makeline (4); else makeline (5); else if (d%2) makeline (6);
8、else makeline (7); 4 阅读以下技术说明和问题模型图,根据要求回答问题 1和问题 2。 【说明】 某大学城图书馆需要在无线阅览厅的某些位置上放置无线接入点 AP(Access Poin)。假设每个无线 AP覆盖范围的半径是 6米,因此必须使得每台笔记本 电脑上的无线网卡到某个无线 AP的直线距离不超过 6米。为了简化问题,假设所有无线网卡在同一直线上,并且无线 AP沿该直线放置。该问题可以建模为如图 1-16所示,其中直线表示无线网卡所在的直线,实心正方形表示无线网卡。现利用贪心策略实现用尽可能少的无线 AP覆盖所有的无线网卡。 实现贪心算法的流程如图 1-17所示。其中,
9、di(1iN)表示第 i张无线网卡到通道 A端的距离, N表示无线网卡的总数,无线网卡的编号按照无线网卡到通道 A端的距离从小到大进行编号; sk表示第 k(k1)个无线 AP到通道 A端的距离 。算法结束后 k的值为无线 AP的总数。4 请填补图 1-17流程图中 (1)-(4)空缺处的内容。 5 该贪心算法的时间复杂度为 (5)。 6 阅读以下应用说明以及用 Visual Basic语言编写的程序代码,将应填入 (n)处的字句写在答题纸的对应栏内。【应用 4.1】 设应用程序的运行窗口内有一个文字标签(Label)以及一个框架,其中有三个复选框 (chk1, chk2, chk3),各个复
10、选框单击事件过程的程序代码如下: Private Sub chkl_Click() Label.fontBold=chkl.Value End Sub Private Sub chk2_Click() Label.fontltalic=chk2.Value End Sub Private Sub chk3_Click() Label.fontUnderLine=chk3.Value End Sub 三个复选框 chkl、 chk2、 chk3的功能分别是: (1)。【应用 4.2】 设应用程序的运行窗口内有两个文本框 Txt1和Txt2,其初始内容为空。在 Txt1文本框中输入一个数值,当光标
11、离开此文本框 (例如进入文本框 Txt2)时, 执行的程序代码如下: Private Sub Txt1_LostFocus() dim x aS double x=Val(Txtl Text) 工 f x 0 Or x 100 Then Txtl.Text =“ MsgBox$(“请重新输入 !“) Txtl.SetFocus Else Txt2.Text=Txt1.Text End If End Sub 该程序代码的功能是:若在文本框 Txtl中输入的数值小于 0或大于 100,当光标离开此文本框时,(2);否则,将其值复制到文本框 Txt2中。【应用 4.3】 在下面的应用中,当窗口内发生
12、 C1ick事件时,窗口内将显示如图 2-4所示的杨辉三角 (每一行都是二项式展开的系数 )。请完善程序代码。 Private Sub Form Click() Dim i, j, c As Integer, StrTemp AS String Dim a(9)As Integer a(0)=0=a(1)=l: StrTemp=Str(a(1)+Space(3) CurrentX=(ScaleWidth-TextWidth(StrTemp)/2 Print StrTemp For j=2 TO 9 a(j)=1 For C=j-1 TO 2 Step-1 a(c) =(3) Next (4)=
13、“ For c = 1 To j StrTemp = StrTemp / 纯虚拟函数 ; class Rectangle: (1) protected: double height; double width; public: Rectangle() ; Rectangle(double height, double width) this- height = height; this- width = width; double getArea() return (2) ; class Square: (3) public: Square(double width) (4) ; ; clas
14、s Triangle: (5) double la; double lb; double lc; public: Triangle(double la, double lb, double lc) this- la = la; this- lb =lb; this- lc = lc; double getArea() double s = (la+lb+lc)/2.0; return sqrt(s*(s-la)*(s-lb)*(s-lc); ; void main() Figure* figures3 = new Triangle(2,3,3), new Rectangle(5,8), new
15、 Square(5); for (int i = 0; i 3; i+) com “figures“ i “ area =“ (figuresi)- getArea0 endl; 8 阅 读以下说明和 Java代码,将应填入 (n)处的语句写在对应栏内。 【说明】 本程序通过移动滑动条修改颜色 RGB值,从而控制颜色。程序中有一个面板、 3个标签和 3个滑动条,标签和滑动条一一对应,分别对应三原色红、绿、蓝,任意拖动其中的一个滑动条,所对应的颜色值就会发生变化,面板的颜色也会发生对应的变化,如下图所示,滑动条值的范围是 0 255。 【 Java代码】 import java.awt.*; i
16、mport java.awt.event.*; import javax.swing.*; public class simple extends JFrame implements AdjustmentListener public simple() setTitle(“simple“); setSize(300, 200); addWindowListener(new WindowAdapter() public void windowClosing(1) System.exit(0); ); Container contentPane=getContentPane(); JPanel p
17、=(2); p.setLayout(new GridLayout(3, 2); p.add(redLabel=new JLabel(“Red 0“); p.add(red=new JScrollBar(Adjustable. HORIZONTAL, 0, 0, 0, 255); red.setBlocklncrement(16); red.addAdjustmentListener(this); p.add(greenLabel=(3) (“Green 0“); p.add(green=new JScrollBar(Adjustable.HORIZONTAL 0, 0, 0, 255); gr
18、een setBIocklncrement(16); green.addAdjustmentListener(this); p.add(blueLabel=new JLabel(“Blue 0“); p.add(btue=new JScrollBar(Adjustable. HORIZONTAL, 0, 0, 0, 255); blue,setBIocklncrement(16); blue.addAdjustmentListener(this); contentPane.add(p, “South“); colorPanet=new JPanel(); colorPanet.setBackg
19、round(new Color(0, 0, 0); contentPane.add(4),“Center“); public void adjustmentValueChanged(AdjustmentEvent evt) redLabel.setText(“Red“+red.getValue(); greenLabel.setText(“Green“+green.getValue(); blueLabel.setText(“Blue“+blue.getValue(); coiorPanel.setBackground(new Color(red.getValue(), green.getVa
20、lue(), blue.getValue(); colorPanel.repaint(); public static void main(String args) JFrame f=(5); f.show(); private JLabel redLabel; private JLabel greenLabel; private JLabel blueLabel; private JScrollBar red; private JScroilBar green; private JScrollBar blue; private JPanel colorPanel; 软件水平考试(初级)程序员
21、下午(应用技术)模拟试卷 50 答案与解析 1 【正确答案】 B C A 2 【正确答案】 (1)p- next=*top (2)*top=p- next或 * top=(*top)- next (3)t- next=p或 (*tail)- next=p (4)p- next或 (*tail)- next- next (5)*tail=p或 *tail=(*tail)- next 【试题解析】 (1)插入结点 p后, p应当指向插入前头结点,所以填入 p -next=*top。 (2)出栈后,头指针应指向它的下一结点,所以填入 *top=p- next或*top=(*top)- next。 (
22、3)入队时,需要将结点插入队尾 ,所以应当填入 (*tail)-next=p 或 t- next=p(t 也指向尾结点 )。 (4)出队时,需要删除队头结点,通过(*tail)- next可以得到对队头结点的引用。 (4)处是正常删除队头结点的情况,空格处应填入头结点指向下一结点的指针,即 p- next或 (*tail)- next- next。 (5)处是需要考虑的特殊情况,即队列中最后一个元素出队后,要更新队尾指针,即填入 *tail=p或 *tail=(*tail)- next。 3 【正确答案】 (1)row_start row_end?1: -1 或 (row end-row st
23、art) 0)*2-1或其他等价的代码形式 (2)(row-end-i)*sign =0 或其等价的代码形式 (3)2*n+1或其等价的代码形式 (4)n, d-1, n+1-d (5)n+1-d, 0, n (6)2*n-d+1, n, 0 (7)0, d n-1, 2*n-d+1 【试题解析】 这是一道要求读者掌握二维数组应用的程序设计题。本题的解答思路如下。 本程序由主函数 main、函数 makeline和函数 makeArray组成。函数makeArray 通过对函数 makeline的调用,每次形成矩阵的一条斜线,直到完成整个矩阵。主函数 main 通过调用函数 makeArray
24、 分别形成了 1阶至 10 阶 (由常量SIZE 决定 )的蛇形矩阵,并将其输出。 函数 makeline的 3个参数分别为起点的行号、列号及终点的行号。 sing是行列号的增量。当从人上到右下方填数时,变量 sing值为 1,此时终点行号 (row_end)大于起点行号 (row_start);当从右下方到左上方填数时,变量 sing值为 -1,此时终点行 号小于起点行号。 (1)空缺处所填写内容的功能是对变量 sing 赋值,应填入“row_start row_end?1:-1”,或 “(row_end-row_start) 0)*2-1”,或其他等价的代码形式。 函数 makeline中
25、的 for循环是对斜线的元素进行赋值。 (2)空缺处是循环的结束条件,所填入的内容是 “(row_end-i)*sign =0”。 函数 makeArray 通过多次调用 makeline形成矩阵的各条斜线。顺序是从左下角填起,第奇数条斜线从右下方向左上方填写,第偶数条斜线从左上方 向右下方填。对于第 d条斜线,如果在主对角线左下 (即 d =n),其左上角的行号、列号分别为 n+1-d和 0,右下角的行号、列号分别为 n 和 d-1。而 (4)、 (5)空缺处所填写的语句是处理主对角线左下的各条斜线,根据斜线方向和起止位置,应分别填入“n, d-1, n+1-d”和 “n+1-d, 0, n
26、”。 如果在主对角线右上,其左上角的行号、列号分别为 0和 d-n-1,右下角的行号、列号分别为 2*n -d+1和 n。 (6)、 (7)空缺处所填写的语句是处理主对角线右上的各条斜线。根据斜线方向利起止位置,应分别填入 “2*n-d+1, n, 0”和 “0, d-n-1, 2*n-d+1”。 需要注意的是:函数 makeArray 中的 n 不是阶数 N,而是 N-1。函数makeArray 通过调用函数 makeline形成矩阵的 2*n+1条斜线。而 (3)空缺处是控制for循环的终值,其所填写的内容是 “2*n+1”。 4 【正确答案】 (1)k=0 (2)j =N或其等价形式 (
27、3)k=k+1或其等价形式 (4)di+6或其等价形式 【试题解析】 本试题的题干说明中已将无线网卡分布问题建模 (如图 1-16所示 )。其中,直线表示无线网卡所 在的直线,实心正方形表示无线网卡。而要求解的问题是要求如何在该直线上布局无线 AP,使其能覆盖所有的无线网卡,并且所用无线 AP的数量要尽可能的少。这是一个通过进行一系列选择求最优解的问题。 分析该问题,发现其具有最优子结构,并且具有贪心选择性质,故该问题可以用贪心算法来求解。贪心算法思想是:问题的规模为 N,从第 1个无线网卡 (最左端 )开始布局无线 AP,把第 1个无线 AP放置在该无线网卡右方的 6m处,此时该无线AP会覆
28、盖从第 1个无线网卡到该无线网卡右方直线长度为 12m的所有无线网卡,假设覆盖了 N1个无线网卡。此时问 题规模变成了 N-N1,接着把第 1个无线 AP覆盖的无线网卡去掉,再从 N-N1中选择第 1个 (最左端 )无线网卡开始布局无线AP,将第 2个无线 AP放置在该无线网卡右方的 6m处。依此布局,直到覆盖所布的无线网卡。 图 1-20是问题解的模型。其中,直线表示无线网卡所在的直线,实心正方形表示无线网卡,实心圆形表示无线 AP,虚线圆以对应无线 AP为圆心,直径为无线 AP的覆盖范围,即对应无线 AP的覆盖范围 (12米 )。 实现贪心算法的流程见图 1-17。由于 “算法结束后 k的
29、值为无线 AP的总数 ”,因此在算法开始处需要对变量 k赋初值 ,即 (1)空缺处所填写的内容是 “k=0”。 该贪心算法中, N表示无线网卡的总数,且无线网卡的编号按照无线网卡到通道 A端的距离从小到大进行编号, di1iN)表示第 i个无线网卡到通道 A端的距离。当判断第 i个无线网卡未超过无线网卡总数 N,而求解下一个无线网卡 (即第 i+1个无线网卡,或第 j个无线网卡 )所归属的无线 AP时,也需要判断第 j个无线网卡是否超过无线网卡总数 N,以及第 j个无线网卡与第 j个无线网卡之间的距离是否超过12米,因此 (2)空缺处所在的判断条件是 “j =N&di-di =12”,即该空
30、缺处所填写的内容是 “j =N”或其等价形式。 若第 j个无线网卡未超过无线网卡总数 N,且第 j个无线网卡与第 j个无线网卡之间的距离未超过 12米,则可以求解再下一个无线网卡 (即第 i+2个无线网卡,或第 j+1个无线网卡 )所归属的无线 AP。反之,则需要记录无线 AP的总数 k,即 (3)空缺处所填写的内容是 “k=k+1”或其等价形式;以及记录第 A(A)1)个无线 AP到通道 A端的距离,即 (4)空缺处所填写的内容是 “di+6”或其等价形式。 当求解完第 k个无线 AP(覆盖了 N1个无线网卡 )的布局后,需要把第 A个无线 AP覆盖的 无线网卡去掉,再从 N-N1 中选择第
31、 1个 (最左端 )无线网卡开始布局第 k+1个无线 AP。依此不断求解,直到覆盖所有的无线网卡。 5 【正确答案】 (5)O(N)或 O(n) 【试题解析】 虽然该贪心算法中包含两个循环,但实际上只是遍历所有无线网卡一次,因此算法复杂度是 O(N)。 6 【正确答案】 (1)对文字标签中的文字,分别控制其粗体、斜体和下划线设置;或含义相同的文字描述 (2)将该文本框清空:弹出对话框,提示重新输入:光标定位于该文本框中;或含义相同的文字描述 (3)a(c)+a(c-1) (4)StrTemp (5) a? 【试题解析】 本题考查 Visual Basic中常用控件的属性设置及事件处理。 对于同
32、一框架中的一组单选按钮,只能有一个被选中,用户选中一个时,另一个就自动呈现取消选中状态。这种效果是系统自动赋予的,无须编程。对于复选框,则可以同时选中多个,每个复选框是独立选择的,单击复选框就是改变该复选框的选中状态。因此,复选框的 Click 事件的程序代码中,还需要判断是选中还是取消选中。 单选钮的属性为 Value,其值为 True表示选中,为 False表示未选中 (默认 )。 复选框的属性为 Value,其值为 0表示未选中 (默认 ), 1表示选中, 2表示禁用。 fontBold、 fontltalic和 fontUnderLine 分别表示文字的粗体属性、斜体属性和下划线属性,
33、因此应用 4.1中,复选框 chk1、 chk2、 chk3分别控制文字标签中文字的粗体、斜体和下划线设置。 应用 4.2程序代码的功能是:若在文本框 Txt1中输入的数值小于 0或大于 100,当光标离开此文本框时,将该文本框清空,弹出对话框并提示重新输入,光标定位于该文本框中;否则,将其值复制到文本框 Txt2中。 应用 4.3在窗体中显示杨辉三角 (每一行都是二项式展开的系数 ),观察元素的值可知,值不等于 1的元素由其左上角和右上角的元素相加得到。例如,若已经计算出第四行的所有元素,如下所示,然后需求出第五行的所有元素,每行的元素存储在一维数组 a中。 a(1) a(2) a(3) a
34、(4) 第四行: 1 3 3 1 第五行上的元素自左至右表示为 a(1)、 a(2)、 a(3)、 a(4)、 a(5),如下所示。 a(1) a(2) a(3) a(4) 第四行: 1 3 3 1 第五行: 1 4 6 4 1 a(1) a(2) a(3) a(4) a(5) 先设置最后一个元素 a(5)等于 1,再根据第四行上的 a(4)和 a(3)求出第五行上的a(4), 根据第四行的 a(3)和 a(2)求出第五行上的 a(3),依此类推,可求出第五行的每个元素 (每行的第一个元素等于 1,无需另外计算 )。 推广至其他行,可计算出杨辉三角中的每个数并以串的方式输出,对应的程序代码如下
35、: For j=2 To 9 计算出第 2行到第 9行的每个数并输出 a(j)=1 每行的最后一个数为 1 For c=j-1 To 2 Step-1 a(c)=a(c)+a(c-1) 计算出值不等于 1的元素 Next StrTemp=“ 字符串初始化,每行所有数串接成一个字符串输出 For C=1 To j StrTemp=StrTemp & Str(a(c) & Space(5-Len(Str(a(C) Next CurrentX=(ScaleWidth-TextWidth(StrTemp)/2 Print StrTemp Next 7 【正确答案】 (1)public Figure (
36、2)height*width (3)public Rectangle (4)height=this- width=width (5)public Figure 【试题解析】 本题以 C+语言为载体,考查面向对象程序设计中的三个重要机制继承、抽象类和动态绑定的应用。 继承是父类和 子类之间共享数据和方法的机制。这是类之间的一种关系,在定义和实现一个类的时候,可以在一个已经存在的类的基础上进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。 动态绑定是实现动态多态的基础,在 C+中,重置是一种动态多态。重置 (overriding)的基本思想是,通过一种动态绑定机制的支持,使得
37、子类在继承父类界面定义的前提下,用适合于自己要求的实现去置换父类中的相应实现。 抽象类的主要作用在于为派生类提供一个基本框架和一个公共的对外接口。在 C+语言中,通过定义纯虚函数来定义抽象类。纯 虚函数是指只给出函数声明而没有给出实现 (包括在类定义的内部和外部 )的虚成员函数,其格式为:在函数原型的后面加上符号 “=0”。包含纯虚函数的类称为抽象类。一个抽象类的派生类应对其抽象基类的所有纯虚成员函数进行实现。 本程序的功能是通过一个公共接口getArea()来计算不同形状图形的面积。题目中定义了 4个类 Figure、 Rectangle(长方形 )、 Square(正方形 )和 Trian
38、gle(三角形 )。在完成本题目时,一个重要的环节是确定这 4个类之间的继承关系。 第一步:确定基类。题目的说明已经指出,类Figure是一个抽象类,那么 Figure只能作为基类。 第二步:确定把 Figure作为直接基类的派生类。理论上,其余的 3个类都可以作为 Figure的直接派生类。我们先假定 Rectangle、 Square和 Triangle都是 Figure的直接派生类,下面结合程序来验证一下这种继承关系是否合理: 类 Rectangle是 Figure的派生类,在Rectangle中将 getArea 进行了重置,所以第 (2)空应给出 getArea的实现体:计算长方形的
39、面积,即 height*width。这时需要考虑的另一个问题是继承的方 式。在C+中继承有三种方式: public、 private和 protected,它用于说明派生类的实例的用户以及派生类的派生类对该派生类的基类成员的访问控制。由于无法确定Rectangle是否会作为其他类的基类 (若存在这种情况,该类中的某些成员函数可能会是其他类的公共接口 ),所以选择 public继承方式,则第 (1)空应填 public Figure。 类 Triangle是 Figure的派生类,在该类中也给出了 getArea的实现,所以第 (5)空应该填 public Figure。 对类 Square来说
40、, 它的基类可能有两个:Figure和 Rectangle。 Square本身是一种图形,同时 Square也是一种特殊的Rectangle。但是在类 Square中没有提供对方法 getArea的重新定义,所以 Square不可能作为 Figure的派生类。那么,它的基类只能是 Rectangle,所以第 (3)空应填 publicRectangle。显而易见,第 (4)空是要给出计算正方形面积的操作。这时可以借助其基类 Rectangle的 getArea方法,此时需要做的是将正方形的边长 width传递到基类 Rectangle 的 属性 height和 width 中即可,所以第 (4
41、)空应填height=this- width=width。这也是第 (3)空选择 public继承方式的原因。 此时我们可以得出题目中 4个类的继承关系如下: 其中箭头表示继承关系。 8 【正确答案】 (1)WindowEvent e (2)new JPanel() (3)new JLabel (4)colorPanel (5)new simple() 【试题解析】 本题考查在 Java中实现对面板颜色的控制。 题目要求三原色红、绿、蓝 ,通过任意拖动其对应的一个滑动条来改变,而面板的颜色也会发生对应的变化。这需要我们了解 Java中对滑动条和颜色进行定义的类。下面我们来分析程序。 第 (1)
42、空在类 simple的构造函数中,这个类是继承 JFrame这个框架类的,这个构造函数的作用是创建一个框架。很明显此空是函数 windowClosing()的参数,而这个函数的作用我们不难看出是关闭框架用的,其参数是 WindowEvent e,因此,此空答案就为 WindowEvent e。 第 (2)空是给 JPanel 类型的变量 p赋一个值, JPanel类型是控制板类型,在程序上面申请了一个容器,此空应该是在容器中创建一个控制板,而 Java中一般用关键字 new 来创建对象,因此,此空答案为 new JPanel()。 第 (3)空是给变量 greenLabel 赋一个初值,从程序
43、中我们不难看出 greenLabel 是一个标签类型的变量,且其中存放的是绿色的值。结合程序中上下红和蓝的处理我们也不难推断出此空的答案为 new JLabel。 第 (4)空是容器对象 contentPane的 add()函数的参数,这个函数的作用是往其对象中增加内容,其第一个参数是要添 加的对象,第二个参数是添加的位置,从程序中不难看出应该添加对象 colorPanel,这是界面中下面的板块。因此,此空答案为 colorPanel。 第 (5)空是给 JFrame 类型的变量 f赋一个值,而 JFrame是框架类 simple的父类,那么变量 f 应该是一个框架对象,关键字 new一般用来创建一个新的对象,因此,此空答案为 new simple()。