You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Stephen Colebourne <sc...@joda.org> on 2003/05/12 19:34:35 UTC
Fw: RandomStringUtils Bug
----- Original Message -----
From: <rs...@haenchen.softwarezentrum.de>
To: <sc...@joda.org>
Sent: Monday, May 12, 2003 3:53 PM
Subject: RandomStringUtils Bug
> Hi Stephen,
>
> may I suggest to change the Code to the method random:
>
> public static String random(int count, char[] set)
> {
> return random(count, 0, set.length, false, false, set);
> }
>
> The change is not to subtract 1 from set.length. It happens to me
> that, based on your implementation, the highest char of the array never
> got chosen.
>
> E.g.
>
> String s = RandomStringUtils.random(25,"abc123");
> System.out.println(s);
>
> used to produce
>
> acaa2bbcb2211a2a2b22a21ab
> 2aac2cc2211b22babbbcc12ab
> bc11c1aba21caabc1bcbaa1ac
>
> You may notice that there is no character '3' in it.
>
> After my change I get
>
> 11222233c2abcbacbbc1ba2cb
> ba1aaa2c2aa1112bb331c1332
> 32aaa333123312b2baaacacb1
>
>
> Hope this is for use for you.
>
>
> Roman
>
>
> --
> ________________________________________________________________________
> Roman Seibold, Dipl.-Inform.
> Haenchen & Partner, Beratungsgesellschaft fuer Wirtschaftsinformatik mbH
> Calwer Str. 1, 71034 Boeblingen, Germany
>
> Roman.Seibold(at)haenchen.softwarezentrum.de
> http://www.haenchen.softwarezentrum.de
> Phone: +49 (0)7031 2126 100
> FAX: +49 (0)7031 2126 199
> ________________________________________________________________________
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org
Re: Fw: RandomStringUtils Bug
Posted by Phil Steitz <ph...@steitz.com>.
Stephen Colebourne wrote:
> ----- Original Message -----
> From: <rs...@haenchen.softwarezentrum.de>
> To: <sc...@joda.org>
> Sent: Monday, May 12, 2003 3:53 PM
> Subject: RandomStringUtils Bug
>
>
>
>>Hi Stephen,
>>
>>may I suggest to change the Code to the method random:
>>
>>public static String random(int count, char[] set)
>>{
>> return random(count, 0, set.length, false, false, set);
>>}
>>
>>The change is not to subtract 1 from set.length. It happens to me
>>that, based on your implementation, the highest char of the array never
>>got chosen.
>>
>>E.g.
>>
>>String s = RandomStringUtils.random(25,"abc123");
>>System.out.println(s);
>>
>>used to produce
>>
>>acaa2bbcb2211a2a2b22a21ab
>>2aac2cc2211b22babbbcc12ab
>>bc11c1aba21caabc1bcbaa1ac
>>
>>You may notice that there is no character '3' in it.
>>
>>After my change I get
>>
>>11222233c2abcbacbbc1ba2cb
>>ba1aaa2c2aa1112bb331c1332
>>32aaa333123312b2baaacacb1
>>
>>
>>Hope this is for use for you.
>>
>>
>>Roman
>>
I have submitted patches making the suggested change and adding a test
case that fails before the change and succeeds afterwards.
http://issues.apache.org/bugzilla/show_bug.cgi?id=19880
The test case generates 100 6-character strings from a 3-character set
and verifies that the characters from the set are showing up with
expected frequency. It uses a chi-square test, similar to the tests
that I submitted for RandomUtils here:
http://issues.apache.org/bugzilla/show_bug.cgi?id=19756
>>
>>--
>>________________________________________________________________________
>>Roman Seibold, Dipl.-Inform.
>>Haenchen & Partner, Beratungsgesellschaft fuer Wirtschaftsinformatik mbH
>>Calwer Str. 1, 71034 Boeblingen, Germany
>>
>>Roman.Seibold(at)haenchen.softwarezentrum.de
>>http://www.haenchen.softwarezentrum.de
>>Phone: +49 (0)7031 2126 100
>>FAX: +49 (0)7031 2126 199
>>________________________________________________________________________
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-dev-help@jakarta.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org