问答题
[说明]
以下JAVA程序设计了类CSet,使用同一个名称(set)的method来传入数据。仔细阅读[代码6-1)、[代码6-2]和[代码6-3]和相关注释,将程序补充完整。
[代码6-1]
import java.io.*;
class CSet
{
private int width;
private int height;
(1)
public void set(String color)
{
col=color; //(a)可输入长方形的颜色
}
public void set (iht w, int h)
{
width=w; //(b)可输入长方形的宽和高
height=h;
}
public void set (String color, int w, int h)
{
col=color; //(c)可输入长方形的颜色、宽和高
width=w;
height=h;
}
public void show ( )
{
System.out.println ("n/长方形的颜色为: "+col);
System.out.println ("n/长方形宽为: "+width+" 长方形高为: "+height");
}
}
[代码6-2]
public class hw8_3
{
public static void main (String args[]) throws IOException
{
intw, h; //声明宽、长变量,并给予赋值
String color, k;
CSet rect1;
rect1=new CSet ( );
System.out.print ("/n请输入颜色:: ");
color=input ( );
System.out.print ("请输入宽度:: ");
k=input ( );
w=Integer.parseInt (k);
System.out.print ("请输入高度:: ");
k=input( );
h=Integer.parseInt (k);
(2) //设置长方形的颜色
(3) //设置长方形的宽、高
rectl.show ( );
(4) //设置长方形的颜色和宽、高
rectl.show ( );
}
[代码6-3]
public static String input( ) throws IOException//输入函数
{
String str;
BufferedReader buf;
(5)
str=buf.readLine ( )
return str;
}
}
【正确答案】
【答案解析】(1)pfivate String col;
(2)rectl.set (color);
(3)rectl.set (w,h);
(4)rectl.set (color,w,h);
(5)buf=new BufferedReader (new InputStreamReader (System.in));
[解析] 程序中定义了类CSet,使用同一个名称(set)的method来传入数据。本题需要考生仔细阅读代码,因为代码中有的变量是在后来出现的,而前边又没有定义,那么肯定需要在空缺处定义。另外,有些语句逻辑上没有先后关系,但填空时需要按顺序填写,因为有注释区分。本题并不难,但代码长。设计此题的目的希望考生又较强的阅读代码能力,因为只有读完了全部代码,才可以明白前面的空缺应该填写什么。