[说明] 以下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来传入数据。本题需要考生仔细阅读代码,因为代码中有的变量是在后来出现的,而前边又没有定义,那么肯定需要在空缺处定义。另外,有些语句逻辑上没有先后关系,但填空时需要按顺序填写,因为有注释区分。本题并不难,但代码长。设计此题的目的希望考生又较强的阅读代码能力,因为只有读完了全部代码,才可以明白前面的空缺应该填写什么。