第17章

todosomethingu色ful

todosomethingu色ful

publi9stringargs{

publi9stringaທrgs{

产生正确的行为

产生正确的行为

println"availaທblefromno9๗on!";

println"ิavailaທblefromno9on!";๙

的构件,或者是用户必须初始化的其它东西,更是如此。清理也๣是个特殊的问题,当你使用

的构件,或者是用户必须初始化的其它东西,更是如此。清理也๣是个特殊的问题๤,当你使用

@param

@param

这段代码和类型特定信息是分离的decນoupled,这样做使代码编写更为简单,也更易于理

这段代码和类型特定信息是分离的decoupled,这样做使代码编写更为简单,也๣更易于理

java程序员来说,每次阅读本书也总是能够有新的体会,这正是本书๰的魅力所在。

jaທva程序员来说,每次阅读本书也๣总是能ม够有新的体会,这正是本书๰的魅力所在。

publi9rnext弄;}

}

publicstaທticນcນlaທss

randfloaທtgeneratorimplementsfloatgenerator{

publi9rnextfloat;๙}

}

publicນstaticນclaທss

randdoublegeneratorimplementsdoublegeneraທtor{

publi9rnextdouble;}

}

}:~

为ฦ了使用生成器生成的元素填充数组,fill方法以恰当类型的生成器接口的引用作为参数,

生成器的next方法生成一个类型正确的对象依赖于接口如何实现。fill方法直接调

用next,填充所需的范围。现在,实现恰当的接口即可制作一个生成器,并在fill中ณ使

用自己的生成器。

随机数据生成器对于测试很有用。所以,这里使用了一组内部类,实现基本类型的生成器

接口。同时,使用string生成器作为obje9๗ggenerator

使用rand9erator填充一个字符数组,然后将其转成string。此数组的大小由á构

造器的参数决定。

randintgenerator默认以10,0่00为ฦ模数,如果不需要生成太大的数字,可以重载构造

器选择一个稍小的值。

下面的程序测试并演示了如何使用此类库:

:c11:testarrays2๐jaທva

testandde摸nstratearrays2๐utilities

importuceeckelutil;

publicclaທsstestarrays2{

pubຘli9stringaທrgs{

intsize=6;๙

orgetthesizefromthemandline:๘

ifargslength!=0{

size=integerpaທr色intargs0;

ifsize3๑{

syste摸utprintln"aທrgmustbe=3";

systemexit1;

}

}

booleaທna1=ne9booleansize;

bytea2=ne9bytesize;

9e9๗chaທrsize;๙

shorta4๒=ne9shortsize;

inta5๓=ne9intsize;๙

弄aທ6=๡ne9弄size;

floata7๕=ne9floatsize;

doubຘlea8๖=ne9doublesize;